在崩溃时重新启动应用程序
如果发生未处理的异常,我需要重新启动我的应用程序。我想模仿Office应用程序(如Word甚至是Visual Studio),当应用程序崩溃或挂起(停止响应)时,会显示一个弹出窗口,并询问用户他是要重新启动应用程序还是终止应用程序。在崩溃时重新启动应用程序
我不知道它是如何完成的,因为我的应用程序可能完全崩溃(如解释here)。现在我想到某种形式的Watchdog或Launcher应用程序,但是我的直觉告诉我,这不是我提到的应用程序的做法。
因此,任何关于“最佳”或“大部分接受”的方式都将不胜感激。
一如既往,感谢所有的关注。
您可以使用Windows Error Reporting (WER)来注册重新启动(甚至是恢复)的应用程序,当它在未处理的异常发生之前运行至少60秒时。
我还没有尝试过,但我发现描述如何做到这一点下面的链接:
- http://msdn.microsoft.com/en-us/library/windows/desktop/bb525423(v=vs.85).aspx
- http://channel9.msdn.com/posts/Application-Restart-and-Recovery-on-Windows-7-in-Native-Code
- http://code.msdn.microsoft.com/Windows-Restart-and-cc461aa9(也包含C#示例)
不幸的是,这似乎只适用于Windows 7及以上版本。
不错!太糟糕了,它只能在Windows 7上运行。很好的答案。 – 2012-05-04 21:35:43
我已经测试过它。它可以在Vista和7上运行,但不会低于此,并且确实需要应用程序保持运行至少60秒。 – 2012-05-07 22:17:50
我认为你是一个看门狗应用程序的正确轨道... – 2012-04-27 18:32:56