Windows10においてスリープをコントロールするツールが使えなくなって久しく,実害が生じてきたので本気で解決策を調べた
Windowsのスリープ問題 (Sleeping Issue)は,スリープ機能が付加されてから,多数のユーザーから問題視されてきた.僕もその一人.その解決策として多数のツールがネットに挙げられている.
感謝すべきは,僕の望む機能を持つツールである,SleepTool612(TM) やSupcon(TM)の2つである.この両方ともWindows10をインストールしたころから正常に動かなくなった.SleepToolのCPU使用率やネットワーク量など,すべてのモニタリング値がZero (0)になったままだった.
PCのデータを内蔵のHDDやローカルネットワーク上のNASなどにバックアップしている際に,バックアップが完了する前にPCがスリープしてしまう問題が看過できなくなったというか許せなくなった.スリープ機能を外すことは,僕の省エネ理念から反するので省エネの利を取っていたのでした.
新たなツールを探す
今回,これらツールがWindows10に対応していないと思っていたため,最近,最も新しいレビュー(Review)からツールを探そうとしたが,SleepToolやSupconに勝るツールは,今現在も外国には存在しないようだ.
9 best tools to prevent your PC from sleeping or locking https://windowsreport.com/prevent-computer-from-sleeping-locking/ |
VBS (Visual Basic Script)でもいいからツールを作るか
そこで,自分でツールを作ろうとい一念発起しネット情報をあさり始めた.開発環境のVisual Studioをインストール,CPU情報をとるにはWMI Win32_ProcessorなるAPIを使用することも分かった.調べてくいくと”WMI Win32_Processorが使えない 2016-0418″を発見した.サイトの筆者によれば,問題が発生したのは,Windows7からWondows10にアップデートしてらかのようで,僕と一緒のようだ.WMI Win32_Processorの代替APIを使用した対応策の記載があったが,自己PCには有効ではなかった.
解決策を見つけた
自前ツールを作成と意気込んでいたものの,対策に行き詰っていると,英語圏のサイトに”win32_processor.LoadPercentage null ?”という質問が上がっていた.
PowerShellにて以下を実行.そのリターンが本来は,CPU使用率であるはずが,名も煮返されない(NULL)とのこと. get-wmiobject win32_processor | select LoadPercentage |
対策は,以下の通りシンプルのものだった.
回答はシンプルでした.
PowerShellにて以下の2行を実行. lodctr /S:[backup filename] ← レジストリのバックアップをしておく |
その結果,SleepToolのモニタリング値は,すべてあるべき観測される数値を示すように改善された.
完結.ツール作者の皆様,今後も使わせていただきます.ありがとございます.
編集履歴 2019/07/06 はりきり(Mr) 2019/09/13 追記・文言整備 (表題をわかりやすく)