【发布时间】:2014-10-28 23:35:49
【问题描述】:
我想知道是否有一种方法可以监听事件,以便在特定进程没有响应时(而不是在它退出时!)时得到通知。
这里的解决方案允许检查某个进程是否响应,但这个解决方案只能与轮询一起使用:Check status of process。如果我能在这个解决方案中“倾听”process.Responding,那就太好了。
例如,我想监听 Windows 机器上的所有 Visual Studio 进程,如果其中任何一个进程没有响应,那么我希望得到通知,以便我可以相应地采取行动。非常感谢!
【问题讨论】:
-
监听实际上是轮询的反向,你需要应用程序在某个时间段发送一个信号,如果它没有,你监听器将它标记为没有响应......嗯?跨度>
-
制作一个定期发送信号或心跳(等)的应用程序仍在轮询。我正在寻找一种纯粹面向事件的方式,因为它将是一个实时应用程序,而且我无法连续几天每秒轮询 5 次! :D 我想知道 Windows 是否提供这样的服务(在 google 上找不到任何东西)
-
没有通知。 Microsoft 升级工程师有一个blog post,它演示了一种技术。他使用常用技术 SendMessageTimeout() 进行轮询。 IsHungAppWindow() 值得注意,但它带有到期通知。
标签: c# windows process-monitoring