C# でプログラムから OS のシャットダウン(または再起動)を行う方法です。
とりあえず Windows での例ですが、FileName
と Arguments
を変更すれば他の OS でもいけるのではないかと思います(未確認)。
環境
- Visual Studio 2017
- .NET Core 2.2
- Windows10
シャットダウン
using System.Diagnostics;
var psi = new ProcessStartInfo
{
FileName = "shutdown.exe",
// コマンドライン引数を指定
Arguments = "/s",
// ウィンドウを表示しないようにする
UseShellExecute = false,// シェル機能を使用しない
CreateNoWindow = true // コンソール・ウィンドウを開かない
};
// 開始
var process = Process.Start(psi);
再起動
Arguments
に /r
を指定します。