VBSで作られたIEコンソールを見つけた。
http://hp.vector.co.jp/authors/VA036013/script/EasyImmidiateWnd.html
さて、JScriptに移植すればいいのかな?
それともWSHでJscriptとシームレスに結合させた方が良い?
ちょっとソース見てみる
ソース読んできた
VB苦手。
C言語系言語*1しか触ってないのでどうも違和感が。まぁrubyとJavaScriptの融合だと思いこんで読み込んでみることに。
IEオブジェクトを取得している部分
Set ObjShell=CreateObject("Shell.Application")
Set ObjDict = CreateObject("Scripting.Dictionary")
myList = vbNullString
index = 0
' IEオブジェクト一覧をカンマ区切りで取得
For Each ObjWnd In ObjShell.Windows
If (typename(ObjWnd.Document) = "HTMLDocument") Then
myList = myList & GetPropertyVal(ObjWnd.Document, "Title", "NoTitle") & "(" & ObjWnd.locationURL & "),"
objDict.Add index, ObjWnd
index = index + 1
End If
Next
気になったCOM
これは名前を見ると期待できそうな。。。オブジェクト
' スクリプトコントロールを作成
Set ObjScript = CreateObject("MSScriptControl.ScriptControl.1")
何に使うのだろう。もう少しソースを読んでみたい
VBSわからん
おしえてエロいひと。
探してたらこんなんをみつけた
http://iriyak.adam.ne.jp/wiliki/uwsc.cgi?iriyak%3AJScript%3ALibrary%3AScriptEngineSwitcher
スクリプトエンジンの強制切り替えScriptEngineSwitcher。つかえるかも
やっぱVBは嫌いだ!ウワーン
盲点だった。
shell.Windows は関数だ!
というわけでIE取得までが出来ました
var Shell = new ActiveXObject("Shell.Application");
var WindowsShell = Shell.Windows();
var str = "";
for(var i = 0; i < WindowsShell.Count; i++) {
item = WindowsShell.item(i);
if(item.FullName.match(/iexplore.exe$/i)){
alert(item.document.title);
}
}
//alertは、デバッガEmEditor組み込み。
おおおおおおIE取得できたかも??
IEのWindowのオブジェクトも取得できたよ
var Shell = new ActiveXObject("Shell.Application"); var WindowsShell = Shell.Windows(); var str = ""; for(var i = 0; i < WindowsShell.Count; i++) { item = WindowsShell.item(i); if(item.FullName.match(/iexplore.exe$/i)){ window = item.document.parentWindow; window.alert();//IEにAlertを送信 a = window.Array();//たぶんIEのArray() } }
ここまで来たらJSコンソールがかなり近づいたか。