SleepGuard は、指定したプロセスが起動している間は Windows のスリープを自動的に抑止し、全プロセスが終了してから設定した猶予時間が経過するとスリープを解除する、軽量なタスクトレイ常駐ツールです。
※ 起動後、タスクトレイに常駐します。ダブルクリックで設定画面を開けます。
-
プロセス監視によるスリープ防止
登録したプロセスが1つでも起動中であれば、Windows の電源設定によるスリープを自動的にブロックします。 -
猶予時間設定
全監視プロセスが停止してから、設定した時間(1〜60分)が経過した後にスリープを解除します。 -
実行中プロセスから直接登録
現在起動中のアプリを一覧から選んで即座に監視対象に追加できます。 -
タスクトレイ常駐
最小化・閉じるとトレイに格納。右クリックメニューから監視状態の確認・一時停止・終了が可能です。 -
Windows スタートアップ登録
PC 起動時に自動起動するよう設定できます。 -
動作ログ
スリープ防止の有効化・解除をログファイルに記録します(自動ローテーション対応)。
スリープ防止には Windows API の SetThreadExecutionState を使用します。
- 監視プロセス起動中 →
ES_CONTINUOUS | ES_SYSTEM_REQUIREDでスリープをブロック - 全プロセス停止+猶予時間経過 →
ES_CONTINUOUSでブロックを解除し、Windows の電源設定に制御を返す
SleepGuard 自身がスリープを発動させるわけではなく、Windows の電源設定を「一時的に無効化する」動作です。
| 項目 | バージョン |
|---|---|
| OS | Windows 10 / 11 (x64) |
| .NET Runtime | 8.0 以上 |
.NET 8 ランタイムは Microsoft 公式サイト からダウンロードできます。
インストール不要です。EXE ファイルをダブルクリックするだけで起動します。
- Releases から最新の
SleepGuard.zipをダウンロード - 任意のフォルダに展開
SleepGuard.exeを実行
- Visual Studio 2022 (17.x 以上)
- .NET SDK 8.0 以上
git clone https://github.com/YOUR_USERNAME/SleepGuard.git
cd SleepGuard
dotnet restore
dotnet build -c Releaseまたは Visual Studio 2022 で SleepGuard.sln を開き、Release | x64 でビルドしてください。
| 設定 | 説明 | デフォルト |
|---|---|---|
| スリープ猶予時間 | 全プロセス停止後にスリープを許可するまでの時間 | 5分 |
| 確認間隔 | プロセスの死活監視間隔 | 10秒 |
| ディスプレイのスリープも防止 | モニターのスリープも同時にブロック | OFF |
| タスクトレイに常駐する | ×ボタンで閉じてもトレイに残る | ON |
| 起動時にタスクトレイに格納 | 起動時にウィンドウを表示しない | OFF |
| 動作ログを記録する | ログファイルへの書き出し | ON |
| Windows 起動時に自動起動 | スタートアップへの登録 | OFF |
設定・ログは EXE とは別の場所に保存されます。EXE を移動・削除しても設定は消えません。
%APPDATA%\SleepGuard\
├── settings.json # 監視プロセス一覧・設定
└── sleepguard.log # 動作ログ(1MB超で自動ローテーション)
| ライブラリ | バージョン | ライセンス |
|---|---|---|
| Hardcodet.NotifyIcon.Wpf | 1.1.0 | CPOL |
| System.Text.Json | 8.0.5 | MIT |
| .NET 8 | 8.0 | MIT |
- 本ソフトウェアは現状有姿(AS IS)で提供されます。
- スリープ制御はシステムの電源設定に依存します。一部の環境では期待通りに動作しない場合があります。
- 本ソフトウェアの使用によって生じたいかなる損害についても、作者は責任を負いません。