2009 年 10 月 30 日

モニタの電源を切るアプリ『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回押すとアプリが終了します

[コマンドラインパラメータ]
オプション機能としてコマンドラインパラメータで動作をカスタマイズすることができます。

・/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
 ・初版リリース

検索用キーワード:省電力モード


Filed under: Software,日記 — monta @ 18:57

18 Comments »

  1. こんにちは。便利なのでこちらのツールを愛用させてもらっています。

    ただ最近不具合が生じました。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

  2. kenさん、こんにちは。
    作者のmontaです。

    この度はMonitorOffTimerをお使い頂きありがとうございます。
    ご報告にあったChromeとの干渉の件ですが、こちらでも現象を再現しました。
    原因は未だ不明ですがMonitorOffTimer側を修正することで対応できそうです。
    遅くとも今週金曜の夜には修正バージョンを公開致しますので、大変ご不便をお掛けしますが今しばらくお待ちください。

    Comment by monta — 2012 年 2 月 16 日 @ 00:56

  3. 作者のmontaです。
    ver.1.0.2.0に更新しましたのでお試しください。
    単純にアプリ側の実装に不備がありました。
    この度は不具合報告ありがとうございます。

    Comment by monta — 2012 年 2 月 18 日 @ 16:49

  4. ダンロードして使用してみましたが問題なく動きました。
    あと新しく追加されたモニタ電源を切るまでの間隔が指定できる機能は便利だと思いました。
    対応有り難うございました。

    Comment by ken — 2012 年 2 月 19 日 @ 16:15

  5. モニターを4台使っているので非常に快適になりました。
    どうもありがとうございます。

    Comment by shinji — 2013 年 9 月 30 日 @ 04:10

  6. シンプルで使いやすく重宝しています。
    ただ少し気になったのが、アイコンのポップアップヒント表示がオンの設定になっている場合、
    MonitorOff_closing.exeのショートカットをダブルクリックするとモニタはオフになるのですが、
    マウスカーソルがアイコン上にあると、ポップアップヒントが表示され、それに反応して
    モニタがオンになってしまうっぽいです。実行後カーソルをすぐに別の場所に移動するか、
    ポップアップヒントをオフにすると回避は出来ますが・・

    Comment by dragonone — 2014 年 1 月 13 日 @ 20:00

  7. ポップアップヒントでモニタの電源が入る現象が再現できないのですが、
    ひとまず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

  8. […] MonitorOffTimer ダウンロードはこちらから […]

    ピンバック by 一定時間でモニター電源をオフにしてくれるフリーソフト 『MonitorOffTimer』 | PCあれこれ探索 — 2015 年 1 月 8 日 @ 21:00

  9. マウスを動かしても戻らずに、クリックで戻るようにしてくれたら嬉しい。

    Comment by syun — 2015 年 2 月 17 日 @ 02:17

  10. […] 「MonitorOffTimer」を公式サイトからダウンロードして解凍。中にある「MonitorOff_closing.exe」を実行すると、即座にモニタの電源がオフになる。 […]

    ピンバック by 複数のディスプレイの電源を一発で切れるタイマー付きモニタ電源オフツール | ياباني — 2015 年 3 月 8 日 @ 00:12

  11. まさにこんなソフトを探してました。
    便利なソフトをありがとう。

    >マウスを動かしても戻らずに、クリックで戻るようにしてくれたら嬉しい。

    ↑の機能があれば私も嬉しいです。
    密かに期待しています。

    Comment by ぬこ飼い — 2015 年 4 月 14 日 @ 23:15

  12. ぬこ飼いさん、 syunさん

    >マウスを動かしても戻らずに、クリックで戻るようにしてくれたら嬉しい。

    要望ありがとうございます。
    私も有用だと思う機能ですが、カーソル移動からの省電力解除はWindowsの根幹に関わる機能のようで、
    無効にする方法がまだ探せておりません。
    仮に以下のようなツールでカーソル移動をロックしていても省電力は解除されます。
    http://homepage1.nifty.com/kurichan/software/coolblockinput.htm

    Comment by monta — 2015 年 4 月 15 日 @ 00:50

  13. こんにちは。

    私は、キーボード操作で復帰しないモニタ電源OFFソフトを探しているのですが、対応は難しいでしょうか?
    実際にはソフトを走らせて、それがキー入力と同じ動作をする為、画面をOFFにしても復帰してしまいます。

    Comment by おもち — 2015 年 5 月 8 日 @ 23:04

  14. おもちさん

    当方の知識では対応は難しいですね……。

    P.S.
    最近、急に要望をいただくようになったのですが、調べてみたら色々と他のサイトで紹介されているようですね。
    ありがたいことですが、要望に応えきれず申し訳ございません。

    Comment by monta — 2015 年 5 月 11 日 @ 00:40

  15. こんにちは

    モニタの電源を切ることが出来るツールを探していたところ、たどり着きました。

    注文をつけるようで誠に恐縮なのですが、
    MonitorOff_closing.exe に電源OFFまでの時間の設定、
    もしくは
    MonitorOffTimer.exe の自動OFFタイマーの動作回数の設定が出来るようにはならないでしょうか。

    PCを2人で共用しているのですが、自分が使った後、次の人が使うまでよくモニタの電源がONのままにしてしまうので、
    スタートアップに入れておいて、自動的にモニタの電源をOFFに出来れば と考えています。

    自動OFFタイマーがあると次の人が使用する際にも動作してしまうので、
    モニタの電源OFFが1回だけに制限できるとありがたいと思います。

    Comment by kito — 2015 年 7 月 16 日 @ 22:58

  16. kitoさん

    ご要望ありがとうございます。近日中に対応いたします。

    Comment by monta — 2015 年 7 月 18 日 @ 09:26

  17. kitoさん
    遅くなりましたがver.1.0.4に更新しました。
    希望の動作になっているかご確認頂ければ幸いです。

    Comment by monta — 2015 年 7 月 26 日 @ 15:39

  18. montaさま

    ご対応いただきありがとうございます。
    希望通りでばっちりです。お手数をおかけいたしました。

    さっそく使わせていただきます。

    Comment by kito — 2015 年 7 月 26 日 @ 21:51

RSS feed for comments on this post. TrackBack URL

Leave a comment

※コメントの反映には2時間ほど時間がかかります。それ以上経過しても反映されない場合、スパムとして振り分けられている可能性がありますのでURLを含まない本文や日本語の名前で再投稿してください。