chore: initial commit (extracted from Launchers monorepo)
Plugin: nsProcess v1.6.0 Architectures: x86-ansi, x86-unicode, amd64-unicode License: zlib
This commit is contained in:
+67
@@ -0,0 +1,67 @@
|
||||
*****************************************************************
|
||||
*** nsProcess NSIS plugin v1.6 ***
|
||||
*****************************************************************
|
||||
|
||||
2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
|
||||
|
||||
Source function FIND_PROC_BY_NAME based
|
||||
upon the Ravi Kochhar (kochhar@physiology.wisc.edu) code
|
||||
Thanks iceman_k (FindProcDLL plugin) and
|
||||
DITMan (KillProcDLL plugin) for direct me
|
||||
NSIS UNICODE compatible version (1.6) by brainsucker
|
||||
(sorry, installer missing, i'm too lazy :)
|
||||
|
||||
Features:
|
||||
- Find a process by name
|
||||
- Kill all processes with specified name (not only one)
|
||||
- Close all processes with specified name (first tries to close all process windows,
|
||||
waits for 3 seconds for process to exit, terminates if still alive)
|
||||
- The process name is case-insensitive
|
||||
- Win95/98/ME/NT/2000/XP/Win7 support
|
||||
- Small plugin size (4 Kb)
|
||||
- NSIS UNICODE support (just rename nsProcessW.dll into nsProcess.dll)
|
||||
|
||||
**** Find process ****
|
||||
${nsProcess::FindProcess} "[file.exe]" $var
|
||||
|
||||
"[file.exe]" - Process name (e.g. "notepad.exe")
|
||||
|
||||
$var 0 Success
|
||||
603 Process was not currently running
|
||||
604 Unable to identify system type
|
||||
605 Unsupported OS
|
||||
606 Unable to load NTDLL.DLL
|
||||
607 Unable to get procedure address from NTDLL.DLL
|
||||
608 NtQuerySystemInformation failed
|
||||
609 Unable to load KERNEL32.DLL
|
||||
610 Unable to get procedure address from KERNEL32.DLL
|
||||
611 CreateToolhelp32Snapshot failed
|
||||
|
||||
|
||||
**** Kill/Close process ****
|
||||
${nsProcess::KillProcess} "[file.exe]" $var
|
||||
${nsProcess::CloseProcess} "[file.exe]" $var
|
||||
|
||||
"[file.exe]" - Process name (e.g. "notepad.exe")
|
||||
|
||||
$var 0 Success
|
||||
601 No permission to terminate process
|
||||
602 Not all processes terminated successfully
|
||||
603 Process was not currently running
|
||||
604 Unable to identify system type
|
||||
605 Unsupported OS
|
||||
606 Unable to load NTDLL.DLL
|
||||
607 Unable to get procedure address from NTDLL.DLL
|
||||
608 NtQuerySystemInformation failed
|
||||
609 Unable to load KERNEL32.DLL
|
||||
610 Unable to get procedure address from KERNEL32.DLL
|
||||
611 CreateToolhelp32Snapshot failed
|
||||
|
||||
**** Comment from brainsucker ****
|
||||
I'm actually not using macros in my code, plugin calls are easy:
|
||||
|
||||
nsProcess:_CloseProcess "notepad.exe"
|
||||
Pop $R0
|
||||
|
||||
**** Unload plugin ****
|
||||
${nsProcess::Unload}
|
||||
Reference in New Issue
Block a user