程序开始的时候会判断是否系统运行中,如果用Application.Restart()方法来实现,机器快的话会报系统已经在运行中了。
Application.Restart 方法:
C#
[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)] [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)] public static void Restart()
调用 Restart 的最常见原因是为了启动使用 Update 或 UpdateAsync 方法通过 ClickOnce 下载的应用程序的新版本。
应用程序将在它们首次运行的上下文中重新启动。如果应用程序使用直接指向应用程序主可执行文件的 URL 启动,则重新启动时仍将使用同一 URL。如果应用程序是 ClickOnce 应用程序,则需要使用 ClickOnce 重新启动它。
如果在首次执行应用程序时为其提供了命令行选项,则 Restart 将使用相同的选项再次启动该应用程序。
为了避免这种情况,可以如下方法: