2010-06-30 3 views
13

자바에서 .exe 파일을 실행하려고합니다. 이것은 내가 가지고있는 것입니다 :자바에서 .exe를 실행하십시오.

var oShell = new ActiveXObject ("Shell.Application");
var commandtoRun = "C : \ Documents and Settings \ User \ Desktop \ ABCD.exe"; oShell.ShellExecute (commandtoRun, "", "", "open", "1");

처음 2 줄 코드가있는 경우 제대로 작동하는 것 같습니다 (Internet Explorer에서 처음 열 때 activeX를 원한다는 메시지가 표시됨)하지만 마지막 줄 (ShellExecute)이 추가 된 것 같습니다. 오류가있다. 나는 exe에 인수를 전달하고 싶다.

누구나 방법을 알고 있습니까?

+1

발견 작은 검색이 - http://www.dotnetspider.com/resources/19547-Run-exe-file-Java -Script.aspx – JasCav

+1

바이러스를 만들고 있습니까? :) –

답변

14

당신은, 예를 들어, 백 슬래시를 이스케이프 할 필요가

var commandtoRun = "C:\\Documents and Settings\\User\Desktop\\ABCD.exe"; 

업데이트 :

이 내 컴퓨터에서 잘 작동 :

var oShell = new ActiveXObject("Shell.Application"); 
var commandtoRun = "C:\\Windows\\notepad.exe"; 
oShell.ShellExecute(commandtoRun,"","","open","1"); 

업데이트 2

너 할 수있어. 확장 .hta 인 파일로이 작업을했습니다 그것은 귀하의 브라우저에서 작동합니다 :

<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"> 
var oShell = new ActiveXObject("Shell.Application"); 
var commandtoRun = "C:\\Windows\\notepad.exe"; 
oShell.ShellExecute(commandtoRun,"","","open","1"); 
</script> 
+0

또한 @ Jason의 링크는 공백을 이스케이프하고 형식을 사용하기 위해 % 20을 (를) 사용하라는 제안을하고 있습니다 : file : /// C : /Program%20Files/...etc - 아마도 이것에 대한 변형이 있습니까? –

+0

@Red 필터 : - 게시하기 전에 이미 시도했지만 ... 도움이되지 않습니다. – Manish

+0

내 uppdate를 참조하십시오. – RedFilter