以下をScriptフォルダに保存。
random.js
//!*script // 第一引数:フォルダパス // ランダムにファイルを選択して返すスクリプト // 引数がなければ終了 if (PPx.Arguments.Length < 1){ PPx.SetPopLineMessage("引数が正しくありません。"); PPx.Quit(-1); } var fso = PPx.CreateObject("Scripting.FileSystemObject"); var fn = PPx.Arguments.Item(0); // フォルダが存在しなければ終了 if (fso.FolderExists(fn) == false) { PPx.SetPopLineMessage(fn+"は存在しません"); PPx.Quit(-1); } // Folderオブジェクトを取得 var folder = fso.GetFolder(fn); // ファイルリストを取得 var e = new Enumerator( folder.Files ); files = new Array(); for( ; !e.atEnd(); e.moveNext()) { files.push(e.item().Name); } // ファイルが存在しなければ終了 if (files.length == 0) { PPx.SetPopLineMessage("ファイルがありません"); PPx.Quit(-1); } // ファイルをランダムに選択 PPx.Result = fso.BuildPath(fn, files[ Math.floor( Math.random() * files.length ) ]); // オブジェクトを解放 fso = null;
これは、引数にフォルダパスを取り、ファイルパスをランダムに返すスクリプト。
次に、以下を編集して取り込み。画像フォルダのパスは適当に読み替えよう。
KC_main = { FIRSTEVENT , *customize X_bg:Path=%*script(%0\Script\random.js,"D:\Work\画像フォルダ") }
これで、PPc起動時に、指定したフォルダ内(ここではD:\Work\画像フォルダ)のファイルをランダムで壁紙にする。
当然壁紙を表示する設定にしていないと意味ないので、非表示にしている場合はカスタマイザーから設定しよう。
追記:2016/02/18
上の設定だと、新しい窓を開くたびに壁紙が変更されてしまう。
初回起動時のみ壁紙を変更したいなら、以下を編集して取込。
KC_main = { FIRSTEVENT , *ifmatch !//,%2 %: *customize X_bg:Path=%*script(%0\Script\random.js,"D:\Work\画像フォルダ") %: *stop }
0 件のコメント:
コメントを投稿