shutdown.exeを使用して一定時間後にコンピュータをシャットダウンするプロセスを作成したいとします。ここで複数の引数を指定したShutdown.exeの処理が動作しない
が私のコードです:
秒はint型のローカル変数である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);
、ユーザーが決定します。
私のコードを実行すると何も起こりません。しかし、私は手動でcmdのプロンプトで入力してください:
shutdown.exe - sの - fのt 999
その後、Windowsはポップアップを作成し、システムが16分でシャットダウンすることを教えてくれます。
複数の引数が原因だと思うのは、実行中のシステムシャットダウンを中止する私の方法が働いていることです(cmd.exeから手動で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);
は、複数の引数を持つ16分後にマシン実際にシャットダウンしていますか?秒= 1で試しましたか?私が尋ねる理由は、あなたがWindowStyleをHiddenに設定しているという事実には何の支障もないのだろうか? – JohnL
おそらく無意味な考え方ですが、あなたの実行可能ファイルについて何も知らない場合、 'UseShellExecute = true'を指定するとどうなりますか? –
コードをこれに変更すると、何も起こりません。 startInfo.Arguments = "-s -f -t 1"; 私は何か間違っていることを知っています。コマンドプロンプトをすぐに見ることができます。 [リンク](http://img215.imageshack.us/img215/8954/shutdowntimer.png) – Toby