こんにちは、阿久津です。筆者の作業環境はデスクトップ型コンピュータ二台、ノート型コンピュータ一台を併用。以前の連載記事でも触れたように一方のデスクトップマシンは、地デジ録画や仮想マシン上で簡易サーバーを走らせるといった役割を担わせるために設置したため、仕事用に用いている訳ではありません。

それでも、各サービスはバックグラウンドで動作しているため、デスクトップ領域は空いたまま。そこで日中はリアルタイム更新が必要な為替や株価、ニュースティッカーなどを表示させ、情報収集に勤しんでいます。そこで困るのがディスプレイの電源管理。

撮り溜めた動画を再生している間は、ソフトウェア側の機能でディスプレイのパワーマネージメント機能が抑制されるため、何ら困ることはありません。しかし前述のようにWebブラウザベースのアプリケーションが動作している場合、あらかじめ設定したパワーマネージメントタイミングでディスプレイがスリープ状態になるため、掲示板的役割として活用することができないのです。

もちろん電源オプションダイアログなどから、「次の時間が経過後ディスプレイの電源を切る」でタイミングを調整すれば済む話ですが、そうなると終業後も煌々とディスプレイがつくことになってしまうため、無駄の極み以外何物でもありません。

そこで、今回は時間帯によってディスプレイのパワーマネージメント設定を変更するチューニングをお届けします。

1.囲み01~02の内容をバッチファイルとして作成します。
2.管理者権限でタスクスケジューラを起動します。
3.囲み01のバッチファイルを実行するタスクを作成します。
4.囲み02のバッチファイルを実行するタスクを作成します。

これでチューニングが終了しました(図01~21)。

図01: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「notepad」と入力して<OK>ボタンをクリックします

図02: メモ帳が起動したら囲み01の内容を正しく入力し、<×>ボタンをクリックします

図03: 保存をうながすメッセージが表示されたら<保存する>ボタンをクリックします

図04: テキストボックスに「"C:\day_mode.bat"」と入力し、<保存>ボタンをクリックします

図05: 先の手順を参考にメモ帳を起動し、囲み02の内容を正しく入力して<×>ボタンをクリックします

図06: 保存をうながすメッセージが表示されたら<保存する>ボタンをクリックします

図07: テキストボックスに「"C:\night_mode.bat"」と入力し、<保存>ボタンをクリックします

囲み01

「day_mode.bat」
@echo off
setlocal
set CMD=powercfg.exe
set P1=-monitor-timeout-ac
set P2=-monitor-timeout-dc
set NUM=300

echo %CMD% -x %P1% %NUM%
echo %CMD% -x %P2% %NUM%

endlocal

囲み02

「night_mode.bat」
@echo off
setlocal
set CMD=powercfg.exe
set P1=-monitor-timeout-ac
set P2=-monitor-timeout-dc
set NUM=5

echo %CMD% -x %P1% %NUM%
echo %CMD% -x %P2% %NUM%

endlocal

図08: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「taskschd.msc」と入力して<OK>ボタンをクリックします

図09: タスクスケジューラが起動したら、操作ウィンドウにある<基本タスクの作成>をクリックします

図10: ウィザードが起動したら、「名前」のテキストボックスにわかりやすい名称を入力して<次へ>ボタンをクリックします

図11: トリガータイミングの選択をうながされたら、<毎週>を選択して<次へ>ボタンをクリックします

図12: 開始時刻を始業時間の10分前程度に変更し、月曜日から金曜日までをチェックを入れてから<次へ>ボタンをクリックします

図13: タスクの操作内容は<プログラムの開始>が選択されているのを確認してから<次へ>ボタンをクリックします

図14: <参照>ボタンをクリックして、図01~04で作成した「C:\day_mode.bat」を選択したら<次へ>ボタンをクリックします

図15: 一覧の内容を確認し、間違いがなければ<完了>ボタンをクリックします

図16: 先の手順を参考にウィザードを起動し、「名前」のテキストボックスにわかりやすい名称を入力して<次へ>ボタンをクリックします

図17: トリガータイミングの選択をうながされたら、<毎週>を選択して<次へ>ボタンをクリックします

図18: 開始時刻を終業時間に変更し、月曜日から金曜日までをチェックを入れてから<次へ>ボタンをクリックします

図19: タスクの操作内容は<プログラムの開始>が選択されているのを確認してから<次へ>ボタンをクリックします

図20: <参照>ボタンをクリックして、図05~07で作成した「C:\night_mode.bat」を選択したら<次へ>ボタンをクリックします

図21: 一覧の内容を確認し、間違いがなければ<完了>ボタンをクリックします

早速結果を確認しましょう。先の手順ではタスクスケジューラを終了させていませんので、そのまま今作成したタスクを右クリックし、メニューにある<実行する>をクリックしてください。この操作でタスクからバッチファイルが呼び出されました(図22)。

図22: 図08~15で作成したタスクを右クリックし、メニューから<実行する>をクリックします

今度はコマンドやコントロールパネル経由で電源オプションダイアログを起動し、「次の時間が経過後ディスプレイの電源を切る」の設定値を確認してみましょう。囲み01のバッチファイルを呼び出すタスクを実行した場合は「300分」に、囲み02のバッチファイルを呼び出すタスクを実行した場合は「5分」に変更されます(図23~26)。

図23: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「Rundll32.exe Shell32.dll,Control_RunDLL powercfg.cpl,,1」と入力して<OK>ボタンをクリックします

図24: これで電源オプションダイアログが起動します。画面はタスク実行前の状態。「次の時間が経過後ディスプレイの電源を切る」の設定値は初期状態の60分となっています

図25: こちらはタスク実行後の状態。同箇所の設定値が300分(五時間)に変更されています

図26: こちらは図16~21で作成したタスクを実行してから、図23の手順で電源オプションダイアログを起動しますと、どうか書の設定値が5分に変更されていることを確認できます

この時間は筆者の作業スタイルに沿った数値です。お好みの応じてバッチファイル内の環境変数「NUM」の値を変更してください。なお、本来は一つのバッチファイルで処理しようと思っていましたが、バッチファイルだけでの曜日取得は難しく、条件分岐も難しいため、タスクスケジューラの機能を用いて複数のバッチファイルを呼び出す形式にしました。ご了承ください。

それでは、また次号でお会いしましょう。

阿久津良和(Cactus)