通过批处理重启系统时隐藏Windows消息

时间:2016-12-07 11:59:28

标签: c# windows shutdown

我的c#app中有一个重启按钮 这是我的代码片段:
System.Diagnostics.Process.Start("shutdown.exe", "-r -t 15");

我的问题是我收到了一条默认的Windows消息: enter image description here

我知道我可以通过-c "some string"更改邮件内容 我怎样才能完全删除它? (我有自己的信息要显示)

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以尝试:

System.Diagnostics.Process.Start("shutdown.exe", "-r -t 15 -f");

-f强制运行应用程序,而不预先警告用户。如果为-t参数指定了大于0的值,则隐含-f参数。

答案 1 :(得分:0)

感谢@nick_gabpe,我设法绕过了这个问题 不确定它是否是最好的答案,但它确实有效..

我有一个带有&#34的MessageBox;现在重启"按钮,然后我使用BackgroundWorker解决了我的问题:

public static void RebootMachine()
    {

        BackgroundWorker worker = new BackgroundWorker();            
        worker.DoWork += (o, ea) =>
        {
            System.Threading.Thread.Sleep(15000);
        };
        worker.RunWorkerCompleted += (o, ea) =>
        {                
            System.Diagnostics.Process.Start("shutdown.exe", "-f -r -t 0");
        };            

        worker.RunWorkerAsync();

        DialogResult result = MsgBox.Show("The device will be initialized in 15 seconds",
            "Restarting device", MsgBox.Buttons.RestartNow, MsgBox.Icon.Info, MsgBox.AnimateStyle.FadeIn);

        if (result == DialogResult.Yes)
        {
            System.Diagnostics.Process.Start("shutdown.exe", "-f -r -t 0");    
        }

    }