2009年06月17日


IEからアプリケーションを実行する

IE からアプリケーションを実行するには、セキュリティゾーン別に
運用をよく考えて設定する必要があります。

通常、インターネットは「インターネットゾーン」なので、
WEB ページからアプリケーションを実行するには、「信頼するサイト」
に登録し、多少危険ですが、AvtiveX が無効になっているのを最低限、
ダイアログで確認するように設定する必要があります。

その結果、実行時に、AvtiveX を実行してもかまわないか、
ユーザーに確認するダイアログが、オブジェクト作成時に表示されます。

ですが、IE には、隠された「マイ コンピュータ」ゾーンがあり、
その対象は、ローカルファイルシステムであり、そのデフォルトの設定
で、結果的には実行可能になると思います。
( 厳密には、IE6 やら IE7 やら XP SP2 やらで変遷があると思いますが )

7000003237300if

いずれにしても、設定次第で即実行可能にもできますし、
実行不能にする事もできます。ただ、最近はこのへんが複雑になってきているのも事実です。

Now, with IE7, it's broken.
About URL Security Zones 
ネットワーク プロトコルのロックダウン 

ですから、以上の二つの運用の自信が無い場合は、
HTML を HTA で作成したフレームに埋め込む事によって、
全くセキュリティを考えずに実行可能です。
<meta http-equiv="content-type" content="text/html; charset=SHIFT_JIS">
<SCRIPT type="text/vbscript" language="vbscript">

Set WshShell =  CreateObject( "WScript.Shell" )

Function webrun(no)

	Select Case no
	Case 0
		WshShell.Run("notepad.exe")
	Case 1
		WshShell.Run("regedit.exe")
	End Select

End Function

</SCRIPT>
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<LINK rel="stylesheet" href="style.css">
</HEAD>
<BODY>

<pre>
<A href="vbscript:" onClick='webrun(0)'>メモ帳の実行</A>
<A href="vbscript:" onClick='webrun(1)'>レジストリの実行</A>
</pre>

</BODY>
</HTML>

<SCRIPT for=window event=onload language="VBScript">

	' 親フレーム(一つ)が存在する場合に、画面一杯に広げる
	if parent.document.getElementsByTagName("FRAME").length = 1 then
		top.moveTo 0, 0
		top.resizeTo screen.width, screen.height - 32
	end if


</SCRIPT>

※ IE に表示させるHTMLの先頭に VBScript を書くと、
※ そのページのデフォルト言語がVBScript になります
( 最近は、その前に META でキャラクタセットを指定しないと動かない可能性があります )

以下は、HTA として実行する為の上記 HTML を埋め込む枠です。
( application="yes" によって実現されています )

※ ICON で指定する画像は、WEB上にするといいと思います。
run.hta
<HTML>
<HEAD>
<TITLE>HTA Frame</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=shift_jis">

<HTA:APPLICATION ID="Sqlwin"
	BORDERSTYLE="sunken"
	INNERBORDER="yes"
	ICON="db.ico"
>

</HEAD>
<FRAMESET id="TopFrame" rows="*">
	<FRAME name="HTAFrame" src="run.htm" application="yes">
</FRAMESET>

タグ:IE 実行 HTA
posted by at 2009-06-17 22:10 | IE/HTA | このブログの読者になる | 更新情報をチェックする
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。