Skip to content

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

monitor-off

モニタを消灯(スリープ)させるだけの Windows 用の小さなアプリです。ウィンドウは表示せず、起動すると少し待ってから消灯して終了します。マウスやキーボードを操作すると点灯します。

入手

Releases から zip をダウンロードして展開し、monitor-off.exe を好きなフォルダに置きます。インストールは不要です。zip には monitor-off.exe・README.md・LICENSE が入っています。

  • Windows 10 / 11 に標準で入っている .NET Framework 4.x で動きます。動作を確かめているのは Windows 11 だけです
  • monitor-off.exe にはデジタル署名がありません。ダウンロードしたものを初めて起動するとき、Windows の SmartScreen が警告を出すことがあります

自分でビルドする場合は「ビルド」を見てください。

使い方

monitor-off.exe を実行すると消灯します。デスクトップなどにショートカットを作り、ダブルクリックで使う想定です。

monitor-off.exe [待ち時間ミリ秒]
  • 待ち時間は、起動してから消灯命令を送るまでの時間です。省略すると 500 ミリ秒です。起動時のクリックやマウスの揺れで、すぐ点き直るのを防ぎます。
  • ダブルクリックの直後にマウスが少し動いても、既定の 500 ミリ秒で消灯したままになることを確かめています。点き直る環境では、ショートカットの引数で待ち時間を延ばしてください(例: monitor-off.exe 1500)。
  • 引数が数値でない、または負の値の場合は、何もせず終了コード 1 で終わります。

ビルド

Windows に同梱の .NET Framework 4.x のコンパイラ(csc.exe)でビルドします。追加の SDK は要りません。

.\build.ps1

bin\monitor-off.exe が出力されます。bin\ は git の管理対象外です(exe はリポジトリに含めず、Releases で配布しています)。

アイコン

アイコンは assets\monitor-off.ico です(モニタの画面に三日月)。作り直すときは、Pillow を入れた Python で次を実行してから、ビルドし直します。

python tools\make_icon.py

既存の消灯ツールとの違い

既存の消灯ツールには、FindWindow(null, null) で最初に見つかったウィンドウへ消灯命令を送るものがあります。そのウィンドウが管理者と同等の権限で動くプロセスのものだと、命令は Windows の UIPI に拒否され、モニタは消灯しません。UIPI は、権限の低いプロセスから高いプロセスのウィンドウへメッセージを送ることを禁じる仕組みです。本ツールは自分のプロセスの非表示ウィンドウへ送るため、この問題が起きません。経緯と検証結果は CLAUDE.md にあります。

ファイル構成

パス 内容
src\MonitorOff.cs 本体のソース
build.ps1 ビルドスクリプト
assets\monitor-off.ico exe のアイコン
tools\make_icon.py アイコンの生成スクリプト
CLAUDE.md 設計・経緯・検証結果
LICENSE ライセンス(MIT)

ライセンス

MIT License です。