スリープ抑止ができるか?

2017年9月29日

今時は省電力モードがデフォルトになっていると思います。
普段は特に問題はないのですが、スリープしてほしくない時があります。
時間がかかる処理をさせている場合ですね。
大きなファイルのダウンロードやsshでつなげたサーバーのアップデートやインストール作業中、などですかね。あとなにげに困るのがWindowsアップデートのときなどです。余裕があるうちに済ませとこうと思ってほっておくのにスリープしてしまってアップデートのダウンロードが中断してしまったり・・・。また、USBコントローラーでゲームをしているときにもスリープ機能が働いてしまったりしますね。

ところが自動スリープを解除するのは意外と面倒です。ワンタッチという訳にはいきません。設定の中から探さねばなりません。
また、解除すると、戻すのを忘れてスリープしてほしいときにしなかったり・・・。

というわけで、起動させてるだけでスリープを抑止してくれたら・・・とおもい調べました。

Windows Vistaが分かれ道

実はVista以前の情報と、それ移行の情報の2つがあります。
実はWin10の今はスリープ抑止が非常にしづらくなっています。
OSの制御を阻害しにくくなっているのです。

http://variedtastefinder.jp/blog/?p=1567

Vista以前は【SetThreadExecutionState】を呼び出す事で阻止出来たのですが、Vista以降は不可能になっています

ということです。

実は少し前に作成したものがあり、ちょっと記憶がなかったのですが、試してみるとあっさりスリープしてしまい駄目でした。それがSetThreadExecutionStateだったんですね。

 

多分うまくいかない方法だけど参考に

Windowsでスタンバイを抑止する方法Add Star
http://d.hatena.ne.jp/aont/20100121/1264089608

 

箇条書きではあるけど、詳しく書いてあるっぽい

スクリーンセーバーと、スタンバイ抑止プログラム
http://kerokero.org/wp/archives/154

 

今回は使わないけどこんな方法も

PowerShellでスリープ抑止
https://goo.gl/r5ymxa

というわけで、今度は「スリープ抑止プログラム」を作ってみようと思います。