解決方法
ネットが広大すぎて正解が分からなかったため、PCをスリープ (サスペンド) させるためだけのプログラムを自分で書いた。
SetSuspendState.zip (1 KB)
- このzipファイルには、「
SetSuspendState.exe
」という実行可能ファイルが入っている。 - 「
SetSuspendState.exe
」を実行すると、PCがスリープする
※事前の確認メッセージ等は一切出ない。 - インストールやランタイムライブラリは不要。
- 動作確認環境: Windows 7 Professional (x64) SP1
※上記プログラムは無保証です。ご利用は各自の自己責任でお願いします。
※リスクの一例として、万が一、スリープやスリープ後の復帰がうまくいかず、保存していなかったメモリ上のデータが失われるリスクもゼロではないため、各自で事前に動作確認をしてからご利用ください。
上記プログラムの説明
Windows の API関数 (
SetSuspendState
) を呼び出すだけのプログラム。
SetSuspendState(FALSE, FALSE, FALSE)
第1引数の
FALSE
は「サスペンド」を意味し、(「休止」か「サスペンド」かの二択)
第3引数のFALSE
は「復帰イベントの許可」を意味する。
上記プログラムのソースコード全文 (C++)
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include <powrprof.h>
void WinMainCRTStartup()
{
::SetSuspendState(FALSE, FALSE, FALSE);
::ExitProcess(0);
}
おまけ: 本質に関係のない技術的注釈
- 実行可能ファイルのサイズを小さくしてみた。(3,072 バイト)
- 「KERNEL32.dll」と「POWRPROF.dll」にしか依存していない。
0 件のコメント :
コメントを投稿