Hello,
Can someone help me diagnose why the following fails to retrieve the 'exe' name
KillByName?
Some code copied from unnamed webpage:
import sysimport osimport timeimport win32apiimport win32process
def StartAProcess(RunCmd): StartupInfo = win32process.STARTUPINFO() np =
win32process.CreateProcess( None, # program RunCmd, # command line
None, # process security attributes None, # thread attributes 1,
# inherit handles
0, # Don't need anything here. None, # new environment
None, # new directory StartupInfo) print "StartAProcess np: " + str(np)
def KillByName(matchstring): processList = win32process.EnumProcesses() print
"KillByName processList: " + str(processList) msLower = matchstring.lower()
print "KillByName msLower: " + msLower for pid in processList: try:
print "KillByName pid: " + str(pid) handle =
win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, False, pid) print
"KillByName handle: " + str(handle) exe =
win32api.GetModuleFileName(handle) print "KillByName exe: " + exe
print "KillByName oneProcess: handle " + str(handle) + " pid " + str(pid) + "
exe " + exe if exe.lower() == mslower: print "KillByName found pid:
" + str(pid) #win32api.TerminateProcess(handle,0)
#win32api.CloseHandle(handle) except: pass
if __name__ == "__main__": if 2 == len(sys.argv):
StartAProcess(sys.argv[1]) time.sleep(10.0) KillByName(sys.argv[1])
Is a handle a handle a handle? The win32api.CreateProcess that started the
process returns two (2) handles (hProcess and hThread) and the OpenProcess
call above returns the second of those two handles (the hThread). Is it that I
need the 'other' handle as in:
"The result is a tuple of (hProcess, hThread, dwProcessId, dwThreadId)"
to send to win32api.GetModuleFileName(handle)?
The 'try' 'except' catches on the win32api.GetModuleFileName.
Regards, Walter.
_________________________________________________________________
Get more from your digital life. Find out how.
http://www.windowslive.com/default.html?ocid=TXT_TAGLM_WL_Home2_082008_______________________________________________
python-win32 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-win32