モニタの電源を切るアプリ『MonitorOffTimer』
マルチディスプレイ、特にトリプルディスプレイ以上を使っていると、ちょっと席を外すときにモニタの電源を切るのが面倒になってきます。
電源を入れっぱなしですと電気代がもったいないですし、無駄にバックライトの寿命も縮まります。
そこでモニタの電源をソフトウェア的に切りたいわけですが、Windowsには「モニタの電源を切るボタン」が標準で用意されておらず、わざわざコントロールパネルの電源管理を開いて「モニタの電源を切る時間 1分」と設定しなくてはいけません。
これは面倒です。復帰したときにわざわざ設定時間を元に戻す手間もいります。
私『簡単にモニタの電源を切ってくれるソフトはないかなぁ……』と思い、グーグルで「モニタ 電源 オフ」的なワードで検索するとズバリ目当ての機能を持った某ソフトが出てきました。
しかし、その某ソフトは使い勝手が悪いのです。
・起動の度に一々、「モニタの電源を切りますか?」というダイアログが出てくる。切りたいから起動してるのにね!
・マウス左クリックで通常に復帰する仕様となっていますが、ウチの環境では復帰に失敗することが多く(モニタの電源のON OFFが高速に切り替わる。明らかに電源回路に悪そう)、怖くて使いづらい。
なので希望の仕様を満たしたものを自分で作りました☆
『MonitorOffTimer』です。
■ダウンロード:MonitorOffTimer105.zip
動作確認環境
・Windows XP SP3 32bit ※「.NET Framework2.0」以上必須(推奨3.5)
・Windows 7 32bit/64bit
「Monitor」「Power」「Off」の組み合わせの名前のソフトがあったので、被らないようにした結果、こんな妙な名前になりました。(こんな単機能なアプリに独自の名前を付けるのもアレですしね)
2つのexeを同梱しています。
・「MonitorOff_closing.exe」
→実行したらモニタの電源を切って、アプリも即終了
復帰は普通にマウスを動かしたり、キーボードを叩けばOKです。
・「MonitorOffTimer.exe」
→実行したらモニタの電源を切るまでは上と同じです。
こんなアプリが居残り続けます。
タイマーが有効な限り、120秒間隔でSendMessage(handle, 0x112, 0xf170, 2)を送り続けます。
※モニタの現在の電源状態を判定していないため(面倒だったので)、例え既に電源がOFFになっていても、電源をOFFにするSendMessageを絶えず送り続けます。
当方の環境では特に問題は起きていませんが、この仕様によりお使いのモニタが壊れても、一切責任を負いませんのでご注意ください。
電源OFF状態からマウスで復帰しても、タイマーは有効なままなので、例えば就寝中にウイルスチェックなどのアプリが強制モニタONで立ち上がったり、ネコがマウスを触って不意にモニタがONになった場合でも120秒以内にモニタは再びOFFにされます。
[キーボード操作]
・ESCキー
→キーボードのESCキーでタイマーが無効に切り替わります。
※ESCキー単体が動作するのはMonitorOffTimerのウインドウアクティブ時に限ります。
・Shift+ESCキー
ウインドウがアクティブでなくとも、Shift+ESCキーを押すことでタイマーを無効にできます。
(ホットキーとして登録済み)
※タイマー無効時にESCキーを押せばアプリが終了します。(つまりタイマー有効時にESCキーを2回押すとアプリが終了します
・ESCキー
→キーボードのESCキーでタイマーが無効に切り替わります。
※ESCキー単体が動作するのはMonitorOffTimerのウインドウアクティブ時に限ります。
・Shift+ESCキー
ウインドウがアクティブでなくとも、Shift+ESCキーを押すことでタイマーを無効にできます。
(ホットキーとして登録済み)
※タイマー無効時にESCキーを押せばアプリが終了します。(つまりタイマー有効時にESCキーを2回押すとアプリが終了します
[コマンドラインパラメータ]
オプション機能としてコマンドラインパラメータで動作をカスタマイズすることができます。
・/TIME=任意の秒数(1~86400秒)
→任意の秒間隔でモニタの電源を切るようになります。
例:MonitorOffTimer.exe /TIME=600 (10分間隔で切りたい場合)
・/ON
→起動時にモニタの電源を切らないようになります。(タイマーの秒数が来るまでモニタの電源は切られません)
例:MonitorOffTimer.exe /ON
・/DELAY=任意の秒数(1~86400秒)
→起動するまでの待ち時間を指定できます。例えばアプリをマウスでクリックしてからマウスを静止させるまでの間を待たせることができます。無線マウスならこの間に電源を切ってください。
例:MonitorOffTimer.exe /DELAY=5 (5秒後にアプリを起動させてモニタの電源を切りたい場合)
MonitorOff_closing.exe、MonitorOffTimer.exe両方に対応しています。
・/LOOP=回数
→タイマーを何回連続で動作させるか指定することができます。指定回数に達したらアプリは自動的に終了します。
例:MonitorOffTimer.exe /LOOP=10 (10回モニタの電源をOFFにしたらアプリを終了させる)
各パラメータは複数同時に指定することもできます
例:MonitorOffTimer.exe /DELAY=5 /TIME=600
※MonitorOffTimer.exeのショートカットを作ると、コマンドラインパラメータは設定しやすいです。
オプション機能としてコマンドラインパラメータで動作をカスタマイズすることができます。
・/TIME=任意の秒数(1~86400秒)
→任意の秒間隔でモニタの電源を切るようになります。
例:MonitorOffTimer.exe /TIME=600 (10分間隔で切りたい場合)
・/ON
→起動時にモニタの電源を切らないようになります。(タイマーの秒数が来るまでモニタの電源は切られません)
例:MonitorOffTimer.exe /ON
・/DELAY=任意の秒数(1~86400秒)
→起動するまでの待ち時間を指定できます。例えばアプリをマウスでクリックしてからマウスを静止させるまでの間を待たせることができます。無線マウスならこの間に電源を切ってください。
例:MonitorOffTimer.exe /DELAY=5 (5秒後にアプリを起動させてモニタの電源を切りたい場合)
MonitorOff_closing.exe、MonitorOffTimer.exe両方に対応しています。
・/LOOP=回数
→タイマーを何回連続で動作させるか指定することができます。指定回数に達したらアプリは自動的に終了します。
例:MonitorOffTimer.exe /LOOP=10 (10回モニタの電源をOFFにしたらアプリを終了させる)
各パラメータは複数同時に指定することもできます
例:MonitorOffTimer.exe /DELAY=5 /TIME=600
※MonitorOffTimer.exeのショートカットを作ると、コマンドラインパラメータは設定しやすいです。
【履歴】
■1.0.5 2017/01/22
・開発環境をVisual Studio 2017 RCに更新
(コード部分の修正はありません)
■1.0.4 2015/07/26
・コマンドラインパラメータに/DELAY=秒数, /LOOP=回数を追加
※/DELAYパラメータはMonitorOff_closing.exe、MonitorOffTimer.exe両方に対応
・MonitorOffTimerのUIにモニター消灯までの「残り秒数」を追加
■1.0.3beta 2014/01/13
・MonitorOff_closing.exeに「起動→モニタの電源OFF→2秒待機→再度モニタの電源OFF→終了」という処理を仮実装(Ver.1.0.3限定)
■1.0.2 2012/02/18
・Google Chromeが起動している環境で正常に動作しない不具合を修正
・コマンドラインパラメータの設定を追加
・フリーの電球アイコンを指定(EXEサイズが大幅アップ!)
■1.0.1 2010/08/23
・一部の文言の修正
■1.0.0 2009/10/30
・初版リリース
検索用キーワード:省電力モード
ただ最近不具合が生じました。GoogleのブラウザChromeを起動した状態でMonitorOffTimer.exeを実行すると、一度はモニターの電源がきれますが、アプリのUIが表示されず、マウスを動かしてモニタを復帰させても、UIが非表示のままになってしまい、そこからモニター電源を落とさなくなってしまいます。この状態でもタスクマネージャーをみるとMonitorOffTimer.exeは実行されています。Chromeを落とすとMonitorOffTimer.exeのUIが表示され、モニタ電源をきちんと落としてくれるようになります。MonitorOffTimer.exeがChromeと干渉しているようですが何か解決策はないでしょうか?UIが非表示になることはたまにあったんですが、特定のアプリとの組み合わせで確実に非表示になるというのは今回が初めてです。
OSはWindows4 64bitです。
Comment by ken — 2012 年 2 月 15 日 @ 10:28
作者のmontaです。
この度はMonitorOffTimerをお使い頂きありがとうございます。
ご報告にあったChromeとの干渉の件ですが、こちらでも現象を再現しました。
原因は未だ不明ですがMonitorOffTimer側を修正することで対応できそうです。
遅くとも今週金曜の夜には修正バージョンを公開致しますので、大変ご不便をお掛けしますが今しばらくお待ちください。
Comment by monta — 2012 年 2 月 16 日 @ 00:56
ver.1.0.2.0に更新しましたのでお試しください。
単純にアプリ側の実装に不備がありました。
この度は不具合報告ありがとうございます。
Comment by monta — 2012 年 2 月 18 日 @ 16:49
あと新しく追加されたモニタ電源を切るまでの間隔が指定できる機能は便利だと思いました。
対応有り難うございました。
Comment by ken — 2012 年 2 月 19 日 @ 16:15
どうもありがとうございます。
Comment by shinji — 2013 年 9 月 30 日 @ 04:10
ただ少し気になったのが、アイコンのポップアップヒント表示がオンの設定になっている場合、
MonitorOff_closing.exeのショートカットをダブルクリックするとモニタはオフになるのですが、
マウスカーソルがアイコン上にあると、ポップアップヒントが表示され、それに反応して
モニタがオンになってしまうっぽいです。実行後カーソルをすぐに別の場所に移動するか、
ポップアップヒントをオフにすると回避は出来ますが・・
Comment by dragonone — 2014 年 1 月 13 日 @ 20:00
ひとまずMonitorOff_closing.exeを改修しました。
http://monta.moe.in/soft/MonitorOff_closing103beta.zip 従来:起動→モニタの電源OFF→終了
v103:起動→モニタの電源OFF→2秒待機→再度モニタの電源OFF→終了
これで様子を見てもらって宜しいですか?
※有線の光学式マウスだと敏感に反応してしまうので、私の場合は無線マウスの電源を切ってからモニタの電源をOFFしています。
Comment by monta — 2014 年 1 月 13 日 @ 23:49
ピンバック by 一定時間でモニター電源をオフにしてくれるフリーソフト 『MonitorOffTimer』 | PCあれこれ探索 — 2015 年 1 月 8 日 @ 21:00
Comment by syun — 2015 年 2 月 17 日 @ 02:17
ピンバック by 複数のディスプレイの電源を一発で切れるタイマー付きモニタ電源オフツール | ياباني — 2015 年 3 月 8 日 @ 00:12
便利なソフトをありがとう。
>マウスを動かしても戻らずに、クリックで戻るようにしてくれたら嬉しい。
↑の機能があれば私も嬉しいです。
密かに期待しています。
Comment by ぬこ飼い — 2015 年 4 月 14 日 @ 23:15
>マウスを動かしても戻らずに、クリックで戻るようにしてくれたら嬉しい。
要望ありがとうございます。
私も有用だと思う機能ですが、カーソル移動からの省電力解除はWindowsの根幹に関わる機能のようで、
無効にする方法がまだ探せておりません。
仮に以下のようなツールでカーソル移動をロックしていても省電力は解除されます。
http://homepage1.nifty.com/kurichan/software/coolblockinput.htm
Comment by monta — 2015 年 4 月 15 日 @ 00:50
私は、キーボード操作で復帰しないモニタ電源OFFソフトを探しているのですが、対応は難しいでしょうか?
実際にはソフトを走らせて、それがキー入力と同じ動作をする為、画面をOFFにしても復帰してしまいます。
Comment by おもち — 2015 年 5 月 8 日 @ 23:04
当方の知識では対応は難しいですね……。
P.S.
最近、急に要望をいただくようになったのですが、調べてみたら色々と他のサイトで紹介されているようですね。
ありがたいことですが、要望に応えきれず申し訳ございません。
Comment by monta — 2015 年 5 月 11 日 @ 00:40
モニタの電源を切ることが出来るツールを探していたところ、たどり着きました。
注文をつけるようで誠に恐縮なのですが、
MonitorOff_closing.exe に電源OFFまでの時間の設定、
もしくは
MonitorOffTimer.exe の自動OFFタイマーの動作回数の設定が出来るようにはならないでしょうか。
PCを2人で共用しているのですが、自分が使った後、次の人が使うまでよくモニタの電源がONのままにしてしまうので、
スタートアップに入れておいて、自動的にモニタの電源をOFFに出来れば と考えています。
自動OFFタイマーがあると次の人が使用する際にも動作してしまうので、
モニタの電源OFFが1回だけに制限できるとありがたいと思います。
Comment by kito — 2015 年 7 月 16 日 @ 22:58
ご要望ありがとうございます。近日中に対応いたします。
Comment by monta — 2015 年 7 月 18 日 @ 09:26
遅くなりましたがver.1.0.4に更新しました。
希望の動作になっているかご確認頂ければ幸いです。
Comment by monta — 2015 年 7 月 26 日 @ 15:39
ご対応いただきありがとうございます。
希望通りでばっちりです。お手数をおかけいたしました。
さっそく使わせていただきます。
Comment by kito — 2015 年 7 月 26 日 @ 21:51
「MonitorOffTimer.exe」について要望があるのですが、マウスを動かしたとき、またはキーボードでいずれかのキーが押されたときに、残り時間をリセットする機能を付けることはできないでしょうか。
ご検討いただけると幸いです。よろしくお願いします。
Comment by 100の人 — 2020 年 1 月 18 日 @ 08:46
返信が遅くなりましてスミマセン。
リセットする機能ですが今週末に取り掛かります。
Comment by monta — 2020 年 1 月 31 日 @ 00:29
暫定版ですができました。ご希望の動作になっているかご確認ください。
http://monta.moe.in/soft/MonitorOffTimer106.zip コマンドラインパラメータに以下を指定してください。
・/RESETFROMKEY
→キーボードから何らかの入力があるとタイマーのカウントダウンをリセットします。
グローバルフックという仕組みでキーボード入力を監視しているため、本アプリがアクティブ状態(最前面)でなくとも機能します。
本アプリがキーロガーとして動作することはありませんが、この挙動ゆえアンチウィルスソフトからマルウェアとして誤検出される可能性があります。
・/RESETFROMMOUSE
→マウスカーソルの移動を検知するとタイマーのカウントダウンをリセットします。
Comment by monta — 2020 年 2 月 4 日 @ 00:51
試しましたところ、希望した通りの動作になっていることを確認しました! 感謝です!
Comment by 100の人 — 2020 年 2 月 7 日 @ 16:00
先日までモニター4台で問題なく動作しており大変助かっていたのですが
モニター一台を買い替えたところ
OFF→なにもしていないのにON
という状態になってしまいました。
以前までは HDMIx2 DPx2 で動作していたのですが
DP接続のモニター(144hz→240hz)を買い替えたところ
動作しなくなってしまいました。
なにか問題点などありそうであれば教えていただきたいです。
Comment by reon — 2020 年 12 月 30 日 @ 17:24
最近10年間でスエーデンで精神病羅漢率が急上昇、もはや国民病。
スエーデンでは11歳までにスマホ保有率が100%。
スマホ病のこばまさ*+は仕事中も数台のスマホを机に並べて数十秒おきに
スマホを代わりばんこにいじり続けて過ごしていた。
コミュニケーション障害を元々患っていた彼は、次第に言葉を失い、
コココココココココ、、、、、と一文字の繰り返しでしか会話が出来なく
なって、うつ病を発症した。
スマホはギャンブルと同じ作用を持ち、いじるたびに脳の報酬系が刺激される。
タブレットと紙で理解力を比較すると紙の方が圧倒的に高くなる。
スマホはパチンコと同じ報酬系を刺激するので、要するにパチンコしながら
の学習や理解のスコアは下がって当たり前。
Comment by こばまさ*+ — 2021 年 3 月 6 日 @ 21:58