ネットワーク管理者として、私はすべてのコンピューターを数週間 (シャットダウンするのではなく) スリープ状態に保つようにしています。これは、コンピューターをウェイクアップするタスクをスケジュールして、他の場所に物理的に移動する必要なくそれらを維持/チェックできるためです。 .
ただし、ユーザーが自分でコンピューターの電源をオフにするだけの場合もあります。だから私は立ち往生していて、そこに移動する必要があります...
私はプログラム的に(C#)したいと思います: - Windowsのシャットダウンを検出/キャッチ - 「shutdown -a」のようなものを実行してキャンセルします。- タスク スケジューラでウェイクアップを計画します - 最後に、シャットダウンではなく SLEEP を使用してコンピュータの電源を切ります。
基本的に、私の目的は、シャットダウンをスリープに置き換えて、スケジュールされたタスクでウェイクアップすることです。誰かがいくつかの可能性について私に教えてもらえますか?
私がまだ試したこと:これでWindowsフォームを作成しました:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.WindowsShutDown)
{
Process.Start("shutdown", "-a");
}
}
システムがシャットダウンを処理しているため、cmd をもう実行できないため、エラーがスローされます。