2010-11-24 16 views

答えて

5

Process.Startでそれを呼び出します

Process.Start("powercfg", "-CHANGE -monitor -timeout -ac 0"); 
1

あなたは、C#からPOWERCFGを実行するためにProcessクラスを使用することができます。

5

Process.Startを呼び出して実行可能ファイルを実行することができます。例えば

:あなたのプログラムの実行中にのみ自動オフを無効にしようとしている場合

Process.Start(fileName: "powercfg", arguments: "-CHANGE -monitor -timeout -ac 0"); 

しかし、あなたの代わりにWM_SYSCOMMANDメッセージを処理する必要があります。

たとえば、次のように名前付き引数のための

protected override void WndProc(ref Message m) { 
    const int SC_SCREENSAVE = 0xF140, SC_MONITORPOWER = 0xF170; 
    const int WM_SYSCOMMAND = 0x0112; 

    if (m.Msg == WM_SYSCOMMAND) { 
     if ((m.WParam.ToInt64() & 0xFFF0) == SC_SCREENSAVE || (m.WParam.ToInt64() & 0xFFF0) == SC_MONITORPOWER) { 
      m.Result = 0; 
      return; 
     } 
    } 
    base.WndProc(ref m); 
} 
+0

何? – abatishchev

+1

@abatishchev:パラメータの内容を表示します。 – SLaks

関連する問題