从 WinForms 应用程序重新启动计算机?

Posted

技术标签:

【中文标题】从 WinForms 应用程序重新启动计算机?【英文标题】:Restart computer from WinForms app? 【发布时间】:2011-05-16 05:46:53 【问题描述】:

现在我正在使用以下代码重新启动我的应用程序

private static void Restart()

    ProcessStartInfo proc = new ProcessStartInfo();
    proc.WindowStyle = ProcessWindowStyle.Hidden;
    proc.FileName = "cmd";
    proc.Arguments = "/C shutdown -f -r -t 5";
    Process.Start(proc);

我的问题是这会显示一个“Windows 将在 5...4...3... ?

更新:伙计们,ugh,它是用于安装程序的,它不会“突然重新启动您的计算机”,它会完成安装,然后询问您是否要重新启动,如果您做,然后它会做,但它不需要任何糟糕的系统对话框告诉你在重新启动之前等待 X 时间。

【问题讨论】:

它与 Blaster 无关 :)) 这就是微软如何实现 shutdown -f 以便用户可以停止重启过程。 为什么不让它弹出?这不会导致危险的可用性情况,计算机从人的下面重新启动吗? 不要。 Windows Update 这样做已经够糟糕了,更不用说随机应用程序了。 (“无论如何,我不关心用户,我,开发者,最清楚什么对用户有好处!”)每次应用程序这样做时,我都想对它的作者做出难以形容的行为。用生锈的勺子。 (而且我想知道该应用未经我的批准还在做什么。) 告诉我这是哪个应用程序,这样我就永远不会下载和安装它。 @Richard:我正在尝试获得针对所有 3 的东西。@Piskvor:我从来没有说过它在重新启动之前没有请求批准。 【参考方案1】:

只需从参数列表中删除“-t 5”部分 - 它会立即重新启动计算机

【讨论】:

它适用于 Windows Server 2008 R2 - 所以它也应该适用于 win7 我觉得还是需要指定“-t 0”

以上是关于从 WinForms 应用程序重新启动计算机?的主要内容,如果未能解决你的问题,请参考以下文章

从主机 WinForms 程序访问自托管 WCF 服务

如何在winforms应用程序启动时运行两个表单?

Winforms C#:从远程计算机文件夹获取图像并加载到 DataTable 的列中

使用拖放重新排序winforms列表框?

从 c# 更新图像缩略图

如何从 Spotify 拖放到 Winforms 应用程序