screensaver_batch

Last-modified: 2014-08-16 (土) 12:41:50 (1887d)

概要

スクリーンセーバー動作タイミングでバッチファイルを実行させます。

作成目的

HTAやJScript等でスクリーンセーバーを作成した場合、それを実行するためのトリガーがないので登録が非常に面倒です。

スクリーンセーバーとして簡単に.scr以外のファイルを実行するために作成しました。

使用方法

ファイル伸長後、screensaver_batch.scrscreensaver_batch.batをwindowsフォルダに移動またはコピーしてください。

screensaver_batch.batをテキストエディタで開き、実行させたいコマンドを記述します。(デフォルトでは、電卓のコマンドが記述されています。)

「画面のプロパティ」→「スクリーンセーバ」の中に、screensaver_batchがあるはずなので選択してください。

これで、スクリーンセーバー動作時にscreensaver_batch.batが実行されます。

その他の使用方法案

他の単機能アプリやスクリプトと組み合わせて…

  • スクリーンセーバー動作タイミングでメールを送信しコンピュータをリブート
  • スクリーンセーバー動作タイミングでメモリクリーニングを実行
  • スクリーンセーバー動作タイミングでごみ箱を空に

なんてことができるかも。

仕様

実行させるバッチファイル名はscreensaver_batch.batの決め打ちです。設定ファイル等があるわけではありません。

バッチファイルをsystem()で呼び出すので、いちいちプロンプトのウインドウが出ます。なぜsystem()で動作させることを選択したかと言うと…

  • ShellExecute?()では動作の終了を察知できない?
  • CreateProcess?()はexe,comのみ実行可能?

という理由からです。僕が無知なだけかもしれませんが…

なぜ「バッチファイル」を実行することを選択したかと言うと…

  • ショートカットでは動作の終了を察知できない?
  • どうせsystem()でウインドウが出るならバッチファイルの方がWSH等よりわかりやすい

という理由からです。

ついでに…スクリーンセーバーアプリを起動させることを前提としてるので、その場合プロンプト画面は一瞬しか見えません。

実行環境

Windows2000,XP。他でもいけると思います。

ダウンロード

screensaver_batch.zip (zip 27KB)