Windows は変な仕様がよくあります。
そのうちの一つを紹介。
プログラムから指定時刻に自動でサスペンド(復帰)させた場合、2分間ユーザー入力
(キーボード・マウス 入力)が無い場合は、
自動でサスペンドしてしまいます。
プログラムからサスペンドで復旧後、2分間経過するまでに
ほんの少しでも キーボード、マウス入力を与えてやれば
この仕様は回避出来るのですが、それは時にハードルが高い。
どうやら SetThreadExecutionState() を最後にコールしてから2分後にサスペンドするっぽい。
ってことは
SetThreadExecutionState() を呼び続ければ良いじゃん!
という答えには、たしかに辿り着きます。
しかしそれはいついかなるときにキャンセルさせるのかという別な課題が出てくるし、
私の考えてる構想には相応しくない。
独自の実装で呼び続けるようにしていますが、この仕様は根本的にどうにかして欲しい所。
0 コメント:
コメントを投稿