如何判断某个进程假死或是这个进程处于一个什么状态,在线等
RT
谢谢。
给我的感觉 应该有什么运行中,睡眠中,假死中,等等之类的,求指点,谢谢!
[解决办法]
至少有两种进程假死:
1)进程不响应了。
这个可以通过未公开函数NtQuerySystemInformation来查询,具体百度一下
NtQuerySystemInformation
也可以通过给其主窗体发消息来判断是否不响应了。
2)进程主窗体被强制关闭了。
还有一种假死通过1)的方法不能判断,因为进程可以响应,只不过主窗体由于某种原因
被强制关闭了,此时只能通过判断主窗体是否正常显示来判断。
[解决办法]
用SendMessageTimeout或者IsHungAppWindow
http://blog.csdn.net/magictong/article/details/7296250