我想创建一个进程,使用shutdown.exe在给定时间后关闭计算机.
这是我的代码:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "shutdown.exe";
startInfo.Arguments = "–s –f –t " + seconds;
Process.Start(startInfo);
Run Code Online (Sandbox Code Playgroud)
其中seconds是int局部变量,用户决定.
当我运行我的代码时没有任何反应.但是当我手动进入cmd提示符并键入:
shutdown.exe - s -f -t 999时,
Windows将弹出一个弹出窗口并告诉我系统将在16分钟内关闭.
我认为这是因为多个参数的原因是我的方法中止正在进行的系统关闭工作(我从cmd提示符手动创建了systemshutdown).这几乎是相同的,除了在startInfo.Argument:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "shutdown.exe";
startInfo.Arguments = "-a";
Process.Start(startInfo);
Run Code Online (Sandbox Code Playgroud)