2007/1/26 NAT
指定されたフォルダからランダムに画像ファイルを選んで壁紙に設定するプログラムです。主な特徴は下記の通り。
このプログラムの著作権はNATに属しますが、自由に使用、配布、改変して構いません。ただし、その結果については一切保障しませんので、自己責任でお願いします。このプログラムはNATが個人的な趣味で作ったものであり、不具合に気づかないまま公開している可能性があるということを了解した上で利用して下さい。
また、このプログラムは以下のソフトウェアを利用して作られており、そのソフトウェアの著作権は、その権利者に帰属します。
このプログラムは、以下の環境で動作するように作成しています。
私が動作確認した環境は下記の通り。
アーカイブファイル(ShuffleWallpaper-<バージョン番号>.zip)を適当な場所に展開して下さい。
ShuffleWallpaper.batを実行すると起動します。タスクトレイ(タスクバーの右端)にShuffleWallpaperのアイコン(下の図を参照)が表示されたら起動完了です。ShuffleWallpaper.batへのショートカットをスタートアップに登録しておくと便利です。
初めて起動したときは、壁紙ファイルが何も設定されていない状態なので、エラーが表示されます。3.3で説明する設定方法に従って設定してください。
起動時の作業フォルダがバッチファイルのあるフォルダと異なる場合、正しく動作しません。ショートカットの作業フォルダをバッチファイルのあるフォルダに設定したりして、適切に設定して下さい。
ログオンするたびに壁紙が変わるだけで良いという方は、ShuffleWallpaperNoTray.batを実行して下さい。タスクトレイにアイコンを表示せず、壁紙を変更するだけで終了します。
システムトレイのアイコンを右クリックすると表示されるメニューから「終了」を選択すると終了します。
タスクトレイ(タスクバーの右端)に表示されているShuffleWallpaperのアイコンを右クリックしてメニューを表示させ、メニュー「設定...」をクリックします。
設定ダイアログが表示されるので、必要に応じて項目を設定します。
項目 | 説明 | |
---|---|---|
壁紙ファイルのあるフォルダ | 壁紙に使う画像ファイル(壁紙ファイル)があるフォルダを設定します。 フォルダを追加するには、「追加」ボタンを押して表示されるダイアログでフォルダを選択して下さい。 フォルダを削除するには、 |
|
有効 | このフォルダの壁紙ファイルを使う場合はチェックします。 チェックを外すと、このフォルダの壁紙は使われません。 |
|
サブフォルダ | サブフォルダにある壁紙ファイルも使うときはチェックします。 チェックを外すと、指定したフォルダ直下の壁紙のみ使われます。 |
|
フォルダ名 | 壁紙ファイルを置くフォルダの名前が表示されます。 | |
壁紙ファイル数 | フォルダの中にある壁紙ファイルの数が表示されます。 | |
「追加」ボタン | フォルダを追加するときに押します。表示されるダイアログでフォルダを選択すると、フォルダが追加されます。 | |
「削除」ボタン | フォルダを削除するときに押します。削除したいフォルダを選択してからこのボタンを押すと、選択されたフォルダが削除されます。 | |
壁紙の背景色 | デスクトップと画像ファイルのサイズの縦横比が異なる場合、この背景色で画像のまわりを描画します。 「変更...」ボタンを押すと、色を選択するダイアログが表示されます。 |
|
時間おきに壁紙変更するときの間隔 | 自動的に壁紙を変更する時間間隔を、スライダーを動かして設定します。 |
以下のいずれかの方法で壁紙を変更できます。
メニュー | 説明 |
---|---|
壁紙変更 | 壁紙を変更します(このメニューより、アイコンをクリックするほうが簡単です)。 |
再表示 | 前回表示した壁紙を再度表示します。 |
壁紙を試す.. | ファイルダイアログで選択した画像ファイルを壁紙に表示します。 |
時間おきに壁紙変更 | チェックボックスで時間おきに壁紙変更をするかどうかを切り替えられます。 ゲームをするときなど、一時的に壁紙変更を止めたいときはチェックをはずしておくと良いでしょう。 |
設定... | 設定ダイアログを開きます。 |
バージョン情報.. | バージョン情報のダイアログを表示します。 |
終了 | ShuffleWallpaperを終了します。 |
実行するJava Runtime Environmentによって変わります(※)が、バージョン情報のダイアログで対応する画像フォーマットを確認できます。http://www.java.com/ からダウンロードした Java Runtime Environment バージョン 5.0では、以下の画像フォーマットに対応しています(ファイル拡張子)。
gif jpg jpeg png wbmp bmp
※Javaプログラムが分かる人向けの説明:
Image I/O(パッケージjavax.imageio)の機能を使って画像を読み込んでいます。
ShuffleWallpaperは、対応する画像フォーマットのファイル拡張子(バージョン情報ダイアログで確認できる)を持つファイルのみ壁紙ファイルとして使います。対応していない拡張子のファイルは無視します。設定ダイアログに表示する壁紙ファイル数は、対応している拡張子のファイルの数です。
ShuffleWallpaperは、外部コマンドを実行することで壁紙変更処理を行っており、同梱している壁紙設定コマンド chwp.exe を実行しています。このコマンドchwp.exeには、設定した壁紙をレジストリに反映せず、一時的に壁紙を変更するオプション-noupdateがあります。これを使うと、PCを再起動した直後は、画面のプロパティで設定した壁紙(背景)となり、ShuffleWallpaperが起動すると壁紙が変更されます。
NATはこのオプションを使い、画面のプロパティで背景なしに設定しておき、PCを起動した直後は何も表示されず、どの壁紙が表示されるか待ちながら、ShuffleWallpaperの起動を待つという使い方をしています。
このオプションを使うには、ShuffleWallpaperのインストール先にある設定ファイル configuration.xml を編集します。このconfiguration.xmlは通常のテキストエディタ(メモ帳でも可)で編集できます。編集するときは、必ずShuffleWallpaperを終了してから編集して下さい。
configuration.xmlをテキストエディタで開き、下記のような箇所を見つけて下さい。
<void property="command"> <string>.\chwp "%"</string> </void>
この箇所を下記のように変更すると、chwp.exeの-noupdateオプションを使うことができます。
<void property="command"> <string>.\chwp -noupdate "%"</string> </void>
このオプションを使った場合、ゲームなどで画面の解像度を切り替えると、画面のプロパティで設定した壁紙に戻ってしまうので、ShuffleWallpaperの「壁紙変更」か「再表示」を実行して壁紙を表示しなおして下さい。
ソースはsrc.zipに含まれているので、興味のある方はどうぞ。
sampleフォルダにある画像ファイルは、動作確認のために用意したもので、NATがデジカメで撮影したものです。この画像ファイルは、自由に使用、配布、改変して構いません。
壁紙変更やタスクトレイの処理がOS依存のため、Windows固有のプログラムになっており、他のOSでは動きません。NATがそういう環境を持ってないのでテストもできないということもあります。ソースは公開しているので、プログラミングができる方は、他のOSで動かすのにに挑戦してみて下さい(他力本願)。
他のOSで動かすには、以下の箇所がポイントです。
ごめんなさい。必要なときだけ壁紙変更するのが面倒くさいので手抜きしてます(汗)。
Java(JRE)を使っているため、ある程度の起動時間は避けられません。ご容赦下さい。ShuffleWallpaperNoTray.batを使うとか、Windowsにログオンしてから1分後くらいに起動するようなタイマー系のアプリを使うなどすれば多少は良くなるかもしれません。どうしても我慢できなければ、他の軽い壁紙チェンジャーをお使い下さい。
画質優先で拡大縮小しているため、ある程度の時間がかかってしまいます。NATは画像処理系の知識がほとんどなく、このプログラムではJavaの標準ライブラリ(Image I/O)を使って画像を扱っています。これ以上高速化できるかどうかも分かりません。ちなみに、壁紙ファイルのサイズや内容によっても壁紙変更の時間は変わるようです。
このプログラムに関する感想、意見、質問などは、下記まで。
NAT (http://www9.plala.or.jp/NAT/contact.html)
不具合報告や要望も受け付けますが、趣味で作っているプログラムのため、必ずしも希望に添えるとは限りませんので、ご了承下さい。
2007/1/21 Version 1.3.2 公開
2007/1/21 Version 1.3.1 公開
2007/1/8 Version 1.3 公開
2007/1/1 Version 1.2 公開
2006/11/30 Version1.1a 公開
2006/11/26 Version1.1 公開
2005/07/18 Version1.0 公開
以上