Processes plug-in: Difference between revisions
(Broken link?) |
(the plug-in doesn't push anything on the stack) |
||
Line 44: | Line 44: | ||
Searches the currently running processes for the given process name. | Searches the currently running processes for the given process name. | ||
return: | return on $R0: | ||
: 1 - the process was found | : 1 - the process was found | ||
: 0 - the process was not found | : 0 - the process was not found | ||
Line 53: | Line 53: | ||
Searches the currently running processes for the given process name. If the process is found then the it gets killed. | Searches the currently running processes for the given process name. If the process is found then the it gets killed. | ||
return: | return on $R0: | ||
: 1 - the process was found and killed | : 1 - the process was found and killed | ||
: 0 - the process was not found or the process cannot be killed (insufficient rights) | : 0 - the process was not found or the process cannot be killed (insufficient rights) | ||
Line 62: | Line 62: | ||
Searches the installed devices drivers for the given device base name(important: I said BASE NAME not FILENAME). | Searches the installed devices drivers for the given device base name(important: I said BASE NAME not FILENAME). | ||
return: | return on $R0: | ||
: 1 - the device driver was found | : 1 - the device driver was found | ||
: 0 - the device driver was not found | : 0 - the device driver was not found | ||
Line 70: | Line 70: | ||
<highlight-nsis> | <highlight-nsis> | ||
Processes::FindProcess "process_name" ;without ".exe" | Processes::FindProcess "process_name" ;without ".exe" | ||
StrCmp $R0 "1" make_my_day noooooo | StrCmp $R0 "1" make_my_day noooooo | ||
Line 82: | Line 81: | ||
Processes::KillProcess "process_name" ;without ".exe" | Processes::KillProcess "process_name" ;without ".exe" | ||
StrCmp $R0 "1" dead_meat why_wont_you_die | StrCmp $R0 "1" dead_meat why_wont_you_die | ||
Line 94: | Line 92: | ||
Processes::FindDevice "device_base_name" | Processes::FindDevice "device_base_name" | ||
StrCmp $R0 "1" blabla more_blabla | StrCmp $R0 "1" blabla more_blabla |
Revision as of 17:44, 9 March 2006
Author: hardwired (talk, contrib) |
Links
Plugin + C++ Source Code:
Processes.zip (39 KB)
Processes.zip (39 KB) (Mirror #1)
Description
- Version
- 1.0.1.0
- Release
- 24.february.2005
- Description
- Nullsoft Installer (NSIS) plug-in for managing?! processes.
- Copyright
- © 2004-2005 Hardwired. No rights reserved.
- There is no restriction for using this software...
- ...no guaranty either!
- Author
- Andrei Ciubotaru [Hardwired]
- President of Inocentric SRL (http://www.inocentric.com/)
- hardwired@inocentric.com
- Project Manager ICode&Ideas SRL (http://www.icode.ro/)
- hardwired@icode.ro
Introduction
The Need For Plug-in - I need it for the one of my installers.
Briefly: Use it when you need to find\kill a process when installing\uninstalling some application. Also, use it when you need to test the presence of a device driver.
Support
Supported platforms are: WinNT,Win2K,WinXP and Win2003 Server.
DLL Functions
Processes::FindProcess "process_name"
Searches the currently running processes for the given process name.
return on $R0:
- 1 - the process was found
- 0 - the process was not found
Processes::KillProcess "process_name"
Searches the currently running processes for the given process name. If the process is found then the it gets killed.
return on $R0:
- 1 - the process was found and killed
- 0 - the process was not found or the process cannot be killed (insufficient rights)
Processes::FindDevice "device_base_name"
Searches the installed devices drivers for the given device base name(important: I said BASE NAME not FILENAME).
return on $R0:
- 1 - the device driver was found
- 0 - the device driver was not found
Usage
First of all, does not matter where you use it. Of course, the routines must be called inside of a Section/Function scope.
Processes::FindProcess "process_name" ;without ".exe" StrCmp $R0 "1" make_my_day noooooo make_my_day: ... noooooo: ... Processes::KillProcess "process_name" ;without ".exe" StrCmp $R0 "1" dead_meat why_wont_you_die dead_meat: ... why_wont_you_die: ... Processes::FindDevice "device_base_name" StrCmp $R0 "1" blabla more_blabla blabla: ... more_blabla: ...
Thanks
Sunil Kamath for inspiring me. I wanted to use its FindProcDLL but my requirements made it imposible.
Nullsoft for creating this very powerful installer. One big, free and full-featured (hmmm... and guiless for the moment) mean install machine!:)
ME for being such a great coder... ... HAHAHAHAHAHAHA!
One more thing...
If you use the plugin or it's source-code, I would apreciate if my name is mentioned.