FindProcDLL 2003 by Sunil Kamath, based upon the KILL_PROC_BY_NAME function programmed by Ravi, reach him at: http://www.physiology.wisc.edu/ravi/


-> Introduction

  This NSIS DLL Plug-In provides one function that has the ability to check if any process running just with the name of its .exe file.

    FindProc "process_name.exe"

  the parameter "process_name.exe" is passed through the stack, and the return code is stored in the $R0 variable. 

The meaning of the return codes is this:

   0   = Process was successfully terminated
   603 = Process was not currently running
   605 = Unable to load PSAPI.DLL
   606 = Unable to identify system type
   607 = Unsupported OS
   632 = Invalid process name
   700 = Unable to get procedure address from PSAPI.DLL
   701 = Unable to get process list, EnumProcesses failed
   702 = Unable to load KERNEL32.DLL
   703 = Unable to get procedure address from KERNEL32.DLL
   704 = CreateToolhelp32Snapshot failed


-> Usage with NSIS

  Just copy the 'FindProcDLL.dll' in your NSIS plugins directory, and call the function with one of the two suggested syntax in the NSIS documentation:

    FindProcDLL::FindProc "process_name.exe"

OR

     ; Pre 2.0a4 syntax
    SetOutPath $TEMP
    GetTempFileName $8
    File /oname=$8 FindProcDLL.dll
    Push "process_name.exe"
    CallInstDLL FindProc

  then check out $R0 to get the return value if you need it.




-> Copyrights and all that stuff:

  The original source file for the KILL_PROC_BY_NAME function is provided, the file is: exam28.cpp, and it MUST BE in this zip file.

  You can redistribute this archive if you do it without changing anything on it, otherwise you're NOT allowed to do so.

  You may use this source code in any of your projects, while you keep all the files intact, otherwise you CAN NOT use this code.

-EOF-