2016-03-19 30 views
2

現在のプロジェクトでは、JavaScriptを使用してボタンのクリックイベントを使用して.batまたは.exeファイルを実行します。以下に示すようにバッチファイルの内容は次のとおりです。温度センサボタンがクリックされたときにTemperatureSensor.exeファイルを開始JavaScriptを使用してボタンクリックイベントに基づいて.exeファイルまたは.batファイルを実行する方法

start "S:\" TemperatureSensor.exe 

。 HTMLページの コードを以下に示します。

<!DOCTYPE html> 
<html> 
<body> 

<p>Click the button to make a BUTTON element with text.</p> 

<button onclick="window.open('file:///S:/Test.bat')">Temperature Sensor</button> 

</body> 
</html> 

私は温度センサーボタンをクリックすると、それはTEST.BATファイルを実行する必要がありますが、それは単に新しいページで、次の表示:

enter image description here

アム私は行方不明?ボタンクリックイベントを使用して.exeファイルを実行することは可能ですか?

更新日:以下のようになり、HTMLページの コード:私は温度センサーボタンをクリックすると

<!DOCTYPE html> 
<html> 
<body> 

<p>Click the button to make a BUTTON element with text.</p> 

<button onclick="myFunction()">Temperature Sensor</button> 

<script> 
function myFunction() { 
     var oShell = new ActiveXObject("Shell.Application"); 

var commandtoRun = "C:\\TemperatureSensor.exe"; 
if (inputparms != "") { 
var commandParms = document.Form1.filename.value; 
} 

// Invoke the execute method. 
oShell.ShellExecute(commandtoRun, commandParms, "", "open", "1"); 
} 
</script> 

</body> 
</html> 

は、それはエラーが表示されます。キャッチされないのReferenceError:ActiveXObjectのはに定義されていません。

+0

を参照してください。http://stackoverflow.com/questions/1880198/how-to-execute-shell-command-in-javascript – guest271314

+0

セキュリティの問題を回避するには、HTAを使用する必要があります。 – Hackoo

+0

@Hackoo詳細を教えてください。 ?? –

答えて

5

ちょうどRunExe.htaとしてこのコードを保存していないRunExe.htmlをし、ダブルclicクリックでそれを実行します!

<html> 
<head> 
<title>Run Exe or Bat files from HTA by Hackoo</title> 
<HTA:APPLICATION 
    APPLICATIONNAME="Run Exe or Bat files from HTA by Hackoo" 
    ID="MyHTMLapplication" 
    VERSION="1.0"/> 
</head> 
<script> 
function RunExe(){ 
    var shell = new ActiveXObject("WScript.Shell"); 
    var path = '"S:/Test.bat"'; 
    shell.run(path,1,false); 
} 
</script> 
<input style="width: 170px; height:23px; color: white; background-color: #203040; 
font-family:Book Antiqua;" type="button" Value="Temperature Sensor" onClick="RunExe();" 
</html> 
+0

@ Hackoo-解決していただきありがとうございます。さて、このコードをlinuxで実行できますか?もし私がLinuxでこのような種類のコードを実行するために何をすべきか? –

1

firefoxを使用している場合は、addonを使用してバッチファイルまたはexeファイルを開くことができます。

セキュリティ制限のため、Exeファイルとバッチファイルはデフォルトでブラウザで開かれません。

アドオンのそれ以降のバージョンでは、exe-filesが有効になっており、これらのファイルはデフォルトで無効になります。

しかし、現時点では、<a href="file://c:/test.bat">test</a>のようなリンクを作成し、クリックしてファイルを起動することができます。

+0

@ AWolf-情報ありがとうございました。 –

関連する問題