練炭ブログ

萌え壁紙、Irvine、DMonkey、Proxomitron などの情報を扱ってます。

Irvine/DMonkey: DMonkey スクリプトから JScript を実行する

コメントなし»

文字列をスクリプトとして実行(MSScriptControl.Scriptcontrol) | 作業日報

ActiveXObject 経由で VBScript、JScript を実行する方法。WSH のスクリプトエンジンを直接呼び出してるっぽいです。

var js = "function main () { var api = new ActiveXObject ('Irvine.api'); api.AddUrl ('http://www.google.co.jp/favicon.ico', 0); return 1; }";

var script = new ActiveXObject ('MSScriptControl.Scriptcontrol');
script.Language = 'JScript';
script.addCode (js);

alert (script.run ('main', {}));

Irvine の「スクリプトの直接実行」でなら動作しますが、Dorothy2 スクリプトからだと EActiveXError エラーになります。

今更な話ですが、もしかして Irvine スクリプトの

※synchronize=1 以外の場合にIrvine.Api/UrlManager/Folder/Itemを使用しないでください

という制限は Irvine.Api 側の仕様ではなくて、DMonkey の ActiveX 機能がメインスレッドでないと使えない仕様によるもの、なのかも知れません(どこまで正しいか不明ですが)。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です