Processes plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
(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"
Pop $R0
   
   
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"
Pop $R0
   
   
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"
Pop $R0
   
   
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)
Zip.gif 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.