2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« ちょっとしたスクリプトを簡単に入力して実行する。 | トップページ | IExplore.exeを起こして、そのIEのオブジェクトを正確に捕捉する。 »

2007年10月 5日 (金)

コンテキストメニュー拡張からスクリプトを入力して実行する。

IEのWebページは外部からShell.Windows()を辿ってスクリプトで操作できますが、HTAやダイログはそういう訳に行きません。
でも、もし、そこでコンテキストメニューが使えるなら、コンテキストメニュー拡張を利用して、スクリプト操作できます。

コンテキストメニューが使えるページやダイアログで、対話的にスクリプトを入力して実行する。

<html>
<head>
<title>スクリプトを実行</title>
<script language=jscript defer>
function button1.onclick(){
  try{
    textarea1.value=eval(input1.value);
  }catch(e){
    textarea1.value=e.description;
  }
}
function input1.onkeypress(){
if(event.keyCode==13) button1.click();
}
function Eval(s){return xEval(s);}
function Execute(s){xExecute(s);}
</script>
<script language=vbscript defer>
Function xEval(s)
xEval=Eval(s)
End Function
Sub xExecute(s)
ExecuteGlobal s
End Sub
</script>
</head>
<body>
<input id=input1 type=text size=96 value='external.menuArguments.document.documentElement.outerHTML'>
<button id=button1>実行</button>
<textarea id=textarea1 cols=68 rows=31></textarea>
</body>
</html>

ExecScript.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\スクリプトを実行(&J)]
@="C:\\フォルダ\\ExecScript.htm"
"Flags"=dword:00000001

« ちょっとしたスクリプトを簡単に入力して実行する。 | トップページ | IExplore.exeを起こして、そのIEのオブジェクトを正確に捕捉する。 »