■
proxyサーバーは平日の日中のみにすればOKなので、タスクスケジューラでsuspendさせることにした。
代わりに SetSuspendState() という API 関数を使います。
この関数は最後の引数に DisableWakeEvent というのがあり、これを FALSE にすれば復帰のイベントが無効になりません。
SetSuspendState() は powrprof.dll 内にありますので、使う時は powrprof.lib をリンクして、powrprof.h を include します。
具体的なコードとしては以下のようになります。#include <windows.h>
#include <powrprof.h>
#pragma comment(lib, "powrprof.lib")BOOL Suspend(void)
{
return SetSuspendState(FALSE, FALSE, FALSE);
}
SetSuspendState() の最初の引数を TRUE にすればハイバネートになります。
また、よく「システムを休止状態にするショートカットを作成する」などと称してこんなコマンドが掲載されていますが、
rundll32.exe PowrProf.dll,SetSuspendState
これでは自動復帰できません。