【发布时间】:2011-03-30 20:40:41
【问题描述】:
如果另一个进程没有响应,是否有可能从代码中检查?
问题是即使应用程序崩溃并且在 Manager 的列表中标记为“未响应”,Process.Responding 属性仍然返回“真”。
'Exited' 事件和函数 'WaitForExit' 会执行任何操作,如果进程是 - 什么是明确的 - 退出。所以这不是重点。
两个字的问题;我需要知道应用程序崩溃了。如何从代码中查看?
感谢您的宝贵时间。
【问题讨论】:
-
其他进程是否有(可见的)主窗口?这是
Process.Responding要求的,请参阅msdn.microsoft.com/en-us/library/… -
我的应用程序需要检查其他进程,由用户在运行时定义。所以我不知道它是否是控制台应用程序。
-
除了任务管理器启发式的 GUI 应用程序(IIRC:它是否及时处理 WN_NULL 消息)没有通用的方法来确定“挂起”(例如它可能正在等待某事或忙碌工作)。