dw786270365 发表于 2013-10-29 20:14:07

AU3 如何判断应用程序没有运行但进程里面包含的这种情况

RT, AU3 如何判断没有运行的程序但系统进程里面有这个程序这种情况了,用 Not Run("") AND ProcessExists("") 时候最小化时候也会被判断为木有运行了,菜鸟求指导啊~~~

sunkiss 发表于 2013-11-5 14:01:25

检测进程并返回路径,再对比你要检测的没有运行的文件的路径,不一致就是没运行啊~!

sunkiss 发表于 2013-11-5 14:13:11

和你的文件的路径对比就行了$PID=ProcessExists ( "hh.exe" )
MsgBox(64, "提示", "进程路径是:" & Procespath($PID))

Func Procespath($iPID)
        ;通过API获取指定PID的进程路径
        ;官方牛人制作
        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   ;==>Processpath
页: [1]
查看完整版本: AU3 如何判断应用程序没有运行但进程里面包含的这种情况