電源をサスペンド状態にする方法【Windows API】
プログラムからパソコンの電源をサスペンド(スタンバイ)状態にします。 プログラムの終了時にサスペンドモードにしておきたい場合などに重宝します。
void SetSuspendMode() { HANDLE hToken; TOKEN_PRIVILEGES tknPrvlgs; OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken); LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &(tknPrvlgs.Privileges[0].Luid)); tknPrvlgs.PrivilegeCount = 1; tknPrvlgs.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tknPrvlgs, 0, NULL, NULL); SetSystemPowerState(TRUE, FALSE); }
まとめ
今回でWindows APIシリーズも一旦の最終回となります。10年以上前の2007年に連載開始されたこのシリーズも歴史的使命を終えつつあります。Windows APIを実際の業務で使っている人も、いまは僅かでしょう。そもそもC++でプログラムをつくる案件が、いまどれくらい残っているのかも不明です。Web全盛の時代です。
復活する日まで、さようなら!