0

ブラウザがダウンロードを要求することなく、.html ファイル内から .​​hta ファイルを実行したい.ブラウザの HTML ページの iframe で実行する必要があります。私が使用しているコードはこれです-

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<iframe src="app.hta">
</body>
</html>

問題は、ブラウザが hta ファイルをダウンロードするように要求するが、自動的に実行する必要があることです。

hta ファイルのコードは次のとおりです。

<html>
<head>
    <title>Application Executer</title>
    <HTA:APPLICATION ID="oMyApp" 
        APPLICATIONNAME="Application Executer" 
        BORDER="no"
        CAPTION="no"
        SHOWINTASKBAR="yes"
        SINGLEINSTANCE="yes"
        SYSMENU="yes"
        SCROLL="no"
        WINDOWSTATE="normal">
    <script type="text/javascript" language="javascript">
        function RunFile() {
        WshShell = new ActiveXObject("WScript.Shell");
        WshShell.Run("c:/app.exe", 1, false);
        }
    </script>
</head>
<body>
    <input type="button" value="Run Notepad" onclick="RunFile();"/>
</body>
</html>
4

2 に答える 2

2

実際には、メイン アプリが HTA であったとしても、 HTA内で開くことはできません。iframeHTA には、ブラウザやその他の .exe と同じように、独自の OS ウィンドウがあります。

できることは、スクリプトを通常の html ファイルに入れることです。IE のセキュリティ設定に応じて、コードを実行するか、ユーザーに実行の許可を求めるか、エラーをスローします。

ActiveXまた、これは Internet Explorer でのみ機能することに注意してください。また、Dark Falcon が言ったようにActiveX、Web からの実行を許可することは、セキュリティ上の大きなリスクになります。したがって、公開 Web サイトでこの種のことをしようとすることはお勧めできません。

これがイントラネット アプリの場合は、メイン アプリを HTA に変更できます。Run Notepad次に、ボタン (およびスクリプト) をメイン アプリまたは設定済みの にiframe追加できますapplication=yes。また、信頼済みサイト (html) はActiveX、プロンプトやエラーなしで s を実行できます。

于 2013-05-25T07:06:08.517 に答える
0

HTA はブラウザーでは実行できません。と呼ばれる特別なホスト プロセスの下で実行されmshtaます。HTA は通常の Web ページよりもはるかに高い権限を持っているため、ブラウザ フレームで HTA を開くことを許可すると問題が発生します。

于 2013-05-24T16:28:01.420 に答える