マシンを休止状態またはサスペンド モードにするための Win32 API はありますか?
MSDN を読んだところWM_POWERBROADCAST
、電源管理イベントが発生したときにメッセージがブロードキャストされることがわかりました。で同じことをシミュレートすることを考えましたPostMessage(WM_POWERBROADCAST)
。これは正しい方法ですか、それともこれを実現するための Win32 API が存在しますか?
チェックアウトしてください
SetSuspendState
。
参照されている msdn ページに記載されているように、SE_SHUTDOWN_NAME 権限が必要であることに注意してください。
Ben Schwehn が投稿したように、SetSuspendState が最適です。win95 では、SetSystemPowerState を呼び出す必要があります。IsPwrSuspendAllowed および IsPwrHibernateAllowed または GetPwrCapabilities を呼び出して、マシンがサスペンド/休止状態をサポートしているかどうかを確認することもできます。
Windows フォーム アプリケーションでは、SetSUspendState (http://msdn.microsoft.com/fr-fr/library/system.windows.forms.application.setsuspendstate.aspx) メソッドを使用します。最初のパラメーターでは、SUspend と Hibernate のどちらかを選択できます。
Windows 以外のフォーム アプリの場合は、Win32 API を直接呼び出します。SetSuspendState 関数は powrprof.dll ファイルにあります。