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コンソールがかなり近づいたか。