找回密码
 加入
搜索
查看: 9454|回复: 17

[系统综合] 如何判定一个程序是否在未响应状态

 火.. [复制链接]
发表于 2010-5-25 14:46:57 | 显示全部楼层 |阅读模式
我现在在win2008下运行一个A程序,我做了一个判定,如果A程序进程不存在就从新启动一个A程序.但是现在我发现在win2008下系统会阻止程序进程关闭.弹出一个调试什么的对话框.请问如何解决这个问题?如何判定这个是否变成没响应状态?

A程序不是au3编写的我也不能编写它.
 楼主| 发表于 2010-5-26 13:58:36 | 显示全部楼层
就如此之难吗?
发表于 2010-5-26 14:19:52 | 显示全部楼层
弹出一个调试什么的对话框

那就监控这个窗口是否出现吧
if WinExists... then ...
 楼主| 发表于 2010-5-26 16:39:58 | 显示全部楼层
回复 3# lynfr8

会不会导致系统资源占用过高?不过倒是可以10分钟一次.不过这个检测可能要长时间开启.那样的话会不会经过日积月累让这个监控的au3程序占用太多内存?
 楼主| 发表于 2010-5-26 16:56:32 | 显示全部楼层
回复 3# lynfr8

会不会导致系统资源占用过高?不过倒是可以10分钟一次.不过这个检测可能要长时间开启.那样的话会不会经过日积月累让这个监控的au3程序占用太多内存?
发表于 2010-5-26 20:06:27 | 显示全部楼层
会不会导致系统资源占用过高?不过倒是可以10分钟一次.不过这个检测可能要长时间开启.那样 ...
ac5474012 发表于 2010-5-26 16:56
_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[0])
                DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle[0])
        Else
                Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)
        EndIf
 
        Return $ai_Return[0]
EndFunc
发表于 2010-5-26 20:46:03 | 显示全部楼层
顶贴、回帖、拿分、走人!url
 楼主| 发表于 2010-5-27 14:30:51 | 显示全部楼层
这是个释放内存模块?多谢拉,一直想找一个。
发表于 2010-5-27 14:48:48 | 显示全部楼层
怎么看效果?
 楼主| 发表于 2010-5-27 14:54:16 | 显示全部楼层
回复 9# yarsye

你指的是什么效果?
发表于 2010-5-27 15:01:57 | 显示全部楼层
很好,效果不错!
发表于 2010-5-27 15:02:48 | 显示全部楼层
sleep1分钟看能不能执行那个程序 , 如果可以就接着做下面的
如果1分钟后还没等到你要的窗口,你就winkill 然后再重新run
发表于 2010-5-27 15:05:19 | 显示全部楼层
lynfr8 发表于 2010-5-26 20:06



    其实我比较对这个感兴趣 就是看不懂 也不知道这个程序跑会有什么反应
发表于 2010-5-27 15:05:40 | 显示全部楼层
lynfr8 发表于 2010-5-26 20:06



    其实我比较对这个感兴趣 就是看不懂 也不知道这个程序跑会有什么反应
发表于 2010-5-29 21:00:46 | 显示全部楼层
也可以监测进程是否存在
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-20 09:26 , Processed in 0.087802 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表