Processes plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (SF: powerfull -> powerful.)
m (Updated author and download links, and changed format of some pages.)
Line 1: Line 1:
== Links ==
== Links ==
[http://devel.icode.ro/files/processes.zip processes.zip] (77Kb) - Includes C++ Source Code
Plugin + C++ Source Code:
 
<attach>Processes.zip</attach><br>
[[Image:Zip.gif]] [http://devel.icode.ro/files/processes.zip Processes.zip] (39 KB) (Mirror #1)


== Description ==
== Description ==
Line 108: Line 111:
If you use the plugin or it's source-code, I would apreciate if my name is mentioned.
If you use the plugin or it's source-code, I would apreciate if my name is mentioned.


Page author: hardwired
Page author: [[User:hardwired|hardwired]]

Revision as of 12:45, 23 April 2005

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]
Lead Developer 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:

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:

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:

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"
Pop $R0
 
StrCmp $R0 "1" make_my_day noooooo
 
make_my_day:
...
 
noooooo:
...
 
 
Processes::KillProcess "process_name" ;without ".exe"
Pop $R0
 
StrCmp $R0 "1" dead_meat why_wont_you_die
 
dead_meat:
...
 
why_wont_you_die:
...
 
 
Processes::FindDevice "device_base_name"
Pop $R0
 
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.

Page author: hardwired