以下を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 件のコメント:
コメントを投稿