如何判定一个程序是否在未响应状态
我现在在win2008下运行一个A程序,我做了一个判定,如果A程序进程不存在就从新启动一个A程序.但是现在我发现在win2008下系统会阻止程序进程关闭.弹出一个调试什么的对话框.请问如何解决这个问题?如何判定这个是否变成没响应状态?A程序不是au3编写的我也不能编写它. 就如此之难吗? 弹出一个调试什么的对话框
那就监控这个窗口是否出现吧
if WinExists... then ... 回复 3# lynfr8
会不会导致系统资源占用过高?不过倒是可以10分钟一次.不过这个检测可能要长时间开启.那样的话会不会经过日积月累让这个监控的au3程序占用太多内存? 回复 3# lynfr8
会不会导致系统资源占用过高?不过倒是可以10分钟一次.不过这个检测可能要长时间开启.那样的话会不会经过日积月累让这个监控的au3程序占用太多内存? 会不会导致系统资源占用过高?不过倒是可以10分钟一次.不过这个检测可能要长时间开启.那样 ...
ac5474012 发表于 2010-5-26 16:56 http://www.autoitx.com/images/common/back.gif_ReduceMemory(@AutoItPID) ;释放内存
Func _ReduceMemory($i_PID = -1)
If $i_PID <> -1 Then
Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $i_PID)
Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle)
DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle)
Else
Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)
EndIf
Return $ai_Return
EndFunc 顶贴、回帖、拿分、走人!url 这是个释放内存模块?多谢拉,一直想找一个。 怎么看效果? 回复 9# yarsye
你指的是什么效果? 很好,效果不错! sleep1分钟看能不能执行那个程序 , 如果可以就接着做下面的
如果1分钟后还没等到你要的窗口,你就winkill 然后再重新run
lynfr8 发表于 2010-5-26 20:06 http://www.autoitx.com/images/common/back.gif
其实我比较对这个感兴趣 就是看不懂 也不知道这个程序跑会有什么反应
lynfr8 发表于 2010-5-26 20:06 http://www.autoitx.com/images/common/back.gif
其实我比较对这个感兴趣 就是看不懂 也不知道这个程序跑会有什么反应 也可以监测进程是否存在
页:
[1]
2