Hi, I have created a modification of FindProcDLL plugin, because I found out it doesn't work on 64 bit Windows. It's alpha so far, briefly tested (ANSI version not at all). For the time being I don't recommend it for any serious project.
Changes you won't like:
- removed support for Win9x (too much trouble with it, sorry)
Positive changes:
- can find 64 bit processes (no WMI)
- can find processes called like a short path (for example you are looking for Program.exe, but it's called with a short path, so the real process name is e.g. PROGR~1.EXE and you wouldn't find it before)
- excludes current process from all searches
- you can search for an entire path (or any part of it - from the left), for example:
FindProcDLL::FindProc "C:\Program Files\MyProg\Prog.exe"
FindProcDLL::FindProc "C:\Program Files"
- you can search for a subpath from the right (backslash is expected in the process path right before the searched string):
FindProcDLL::FindProc "MyProg\Prog.exe"
FindProcDLL::FindProc "Program Files\MyProg\Prog.exe"
- integrated KillProc function (all of the above updates apply to it):
FindProcDLL::KillProc "myprog.exe"
- added function WaitProcEnd, which waits for a process to exit (doesn't consume any processor time, uses WaitForSingleObject):
FindProcDLL::WaitProcEnd "myprog.exe" -1
the second parameter is timeout, if it is reached, the function returns 100 and doesn't wait for the process (recommended value is -1);
if there was no process to wait for, 0 is returned, if successfully waited, returns 1
- added function WaitProcStart, which waits until a certain process start (very processor-intensive, timeout is this time used for the polling interval, set at least 250 ms, 500 is better)
FindProcDLL::WaitProcStart "myprog.exe" 300
returns 0 on success
- plugin size is 3.5 kB 😉
All returned values go to $R0, just like in the standard version. I will likely upgrade it soon, if and when I encounter any bugs. Let me know if you find something.