半芯蕃茄 发表于 2009-1-2 03:13:51

关于判断进程的路径问题!

MsgBox(64,"进程信息","进程路径是:"&Processpath(616))
Func Processpath($iPID)
    Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID)
    If $aProc = 0 Then Return SetError(1, 0, '')
    Local $vStruct = DllStructCreate('int')
    DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc, 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0)
    Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc, 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048)
    If StringLen($aReturn) = 0 Then Return SetError(2, 0, '')
    Return $aReturn
EndFunc
上面的代码是判断指定进程的路径的,但是进程是哪个参数指定的?是$iPID还是哪个?请教高手。。怎么定义?

[ 本帖最后由 半芯蕃茄 于 2009-1-11 01:05 编辑 ]

大绯狼 发表于 2009-1-2 11:35:04

$IPID是进程的PID值 你得先获取进程的PID才行
获取PID的方法有很多 请在帮助自行搜索
页: [1]
查看完整版本: 关于判断进程的路径问题!