.net - 崩溃时重新启动应用程序

标签 .net

如果发生未处理的异常,我需要重新启动我的应用程序。我想模仿 Word 甚至 Visual Studio 之类的 Office 应用程序,当应用程序崩溃或挂起(停止响应)时,会显示一个弹出窗口并询问用户是否要重新启动应用程序或终止它。

我不确定它是如何完成的,因为我的应用程序可能完全崩溃(如 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 及更高版本。

    关于.net - 崩溃时重新启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10355925/

    相关文章:

    C# System.Threading.Timer 及其状态对象

    c# - 泛型构造要求类型 'Cell<' T>' 是非托管类型

    c# - 将应用程序的音频重新路由到另一个音频设备

    .net - SQL 语句在单独的文件中

    .net - 为什么这里的 fastmember 看起来并不比反射快?

    .net - 如何在 Visual C++ .net 中将一个项目从一个列表框转移到另一个

    c# - ContextMenuStrip 的不稳定行为

    c# - 捕获所有内部异常详细信息的最佳做法是什么?

    c# - 自动调整字体大小以适合矩形

    .net - 如何检索 .net 中泛型 IEnumerable 中使用的泛型类型?