- お前ら、wsh使ってますか? Part8
186 :名無し~3.EXE[sage]:2011/06/01(水) 01:29:18.93 ID:5Nq11jQ6 - // <job id='qtjs'><resource id='qtjs'><![CDATA[;;;
// sample.wsf としてUTF-8で保存。これを起動すると、最初の起動はWSHで実行して、下のパスのQtjs.exeで再実行する形になる。関連付けしてなくても動く。 var label = QLabel("Hello, world!"+"\n\n"+"ポポポポ〜ん!"); label.show(); sys.exec(); // // ]]></resource><script> /* ここからはjscript。関連付け無しでも実行できるようにする処理。var pqtjsexeでQtjs.exeのパスを決め、そのexeでスクリプトを実行する。*/; if(typeof(WScript)=='object'){ //var pqtjsexe="V:\\Script_Qtjs_Win\\Qtjs.exe";/ * パスを決めうちの場合 * /; var oshl=new ActiveXObject("WScript.Shell"); var ofso=new ActiveXObject("Scripting.FileSystemObject"); var pdirscript = ofso.GetFile(WScript.ScriptFullname).ParentFolder; var pqtjsexe=pdirscript + "\\Qtjs.exe";/ * 同じフォルダにqtjs.exeの環境がある場合 * /; oshl.run("\""+pqtjsexe+"\""+ " " + "\""+ WScript.ScriptFullName+"\"",1,false); }; //</script></job>
| - お前ら、wsh使ってますか? Part8
187 :名無し~3.EXE[sage]:2011/06/01(水) 01:41:57.48 ID:5Nq11jQ6 - 上の奴は、拡張子Qtjsを関連付けしてる場合は、ファイル名の拡張子を.qtjsで保存すればそのまま動くよ。
スクリプトの最後のほうを変えればWSHから引数も引き継げると思う。 for(var arg=WScript.Arguments,iii=0,sadd='';iii<arg.length;iii++){sadd+=" " + "\""+ arg(iii)+"\"";}; oshl.run("\""+pqtjsexe+"\""+ " " + "\""+ WScript.ScriptFullName+"\""+" "+sadd,1,false);
| - お前ら、wsh使ってますか? Part8
188 :名無し~3.EXE[sage]:2011/06/01(水) 01:45:57.06 ID:5Nq11jQ6 - >>183
ほんとだ。Macは対応してなかったw スマソ
|
|