3

HTMLリンクをクリックして、ローカルユーザーのファイルシステムからプログラムを実行する必要があります。

これを使うと

<a href="C:\Windows\System32\NETSTAT.EXE">CLICK</a>

正常に動作します。しかし、exeファイルにパラメータを渡そうとすると失敗します。

<a href="C:\Windows\System32\NETSTAT.EXE -a">CLICK</a>

誰もがパラメータを渡すことがどのように可能であるかについての考えを持っていますか?

ありがとう

アップデート

これの使用法は次のとおりです。システムで新しいレコードが利用可能になると、オンラインシステムはユーザーに電子メールを送信します。したがって、ユーザーは電子メールクライアントからリンクをクリックして、目的のパラメーターを使用してローカルexeプログラムを開き、新しいレコードを表示します。

ネットワーク管理者によって許可されていないため、batファイルを含むメールを送信したくありません。

4

2 に答える 2

3

解決策は1つしかありません。.BATファイルを使用します。このファイルは、たとえばnetstat-a.batという名前の「netstat.exe-a」になります。

<a href="C:\Windows\System32\NETSTAT-A.BAT">CLICK</a>

それは非常に完璧な解決策ですが、うまくいく可能性があります:)

このコードを試すこともできますが、ブラウザとユーザーの権利によって異なります。

<html>
 <head>
     <script language="JavaScript" type="text/javascript"> 
         MyObject = new ActiveXObject( "WScript.Shell" ) 
         function RunNotePad()  
         { 
            MyObject.Run("netstat.exe -a") ; 
        } 

    </script>
 </head>
 <body>
    <h1>Run a Program</h1>
    This script launch the file >> c:\windows\notepad.exe<p>
    <button onclick="RunNotePad()">Run Windows NotePad</button>
 </body>
</html> 
于 2012-08-31T07:40:56.810 に答える
0

私の観点からする と、<A>大文字と小文字が区別されるため、引数としてC:\Windows\System32\NETSTAT.EXE -aではなくパス全体として扱われます。-a上記のリンクは引数としても使用されるため機能しており、system32内にあるため実行されます

同様に、そこにないファイル全体として扱う <a href="C:\Windows\System32\NETSTAT.EXE -a">CLICK</a>ので、問題を解決する方法は1つしかありません。パス全体を.batにして保存し、パスを指定してnetstat-a.batまたは必要なものを保存します<a>そのパス全体を指定します<a>C:\Windows\System32\NETSTAT.EXE-a.bat</a>

于 2012-08-31T07:48:43.527 に答える