我想创建一个在给定时间后使用 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);
其中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);