2010-06-30 49 views
13

Tôi đang cố gắng chạy tệp .exe từ Javascript. Đây là những gì tôi có:Chạy .exe từ Javascript

var oShell = new ActiveXObject ("Shell.Application");
var commandtoRun = "C: \ Documents và Cài đặt \ User \ Desktop \ ABCD.exe"; oShell.ShellExecute (commandtoRun, "", "", "mở", "1");

Nếu tôi chỉ có 2 dòng mã đầu tiên có vẻ hoạt động tốt (nó hỏi tôi có muốn activeX khi lần đầu tiên mở IE) nhưng nếu tôi thêm dòng cuối cùng (ShellExecute) có vẻ như là một lỗi. Tôi muốn chuyển đối số cho exe.

Có ai biết cách thực hiện không?

+1

Một ít tìm kiếm tìm thấy này - http://www.dotnetspider.com/resources/19547-Run-exe-file-Java -Script.aspx – JasCav

+1

Bạn đang tạo virus hay gì? :) –

Trả lời

14

Bạn cần phải thoát khỏi gạch chéo ngược, ví dụ:

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

Cập nhật:

này hoạt động tốt trên máy tính của tôi:

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

Cập nhật 2

Bạn có thể sa đã này như một tập tin với phần mở rộng .hta và nó cũng làm việc trong trình duyệt của bạn:

<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

Ngoài ra: liên kết @ Jason đề xuất sử dụng% 20 để thoát không gian và sử dụng định dạng: file: /// C: /Program%20Files/...etc - có lẽ đó là một số biến thể về điều đó? –

+0

@Red Filter: -Tôi đã thử rằng trước khi đăng ... không giúp đỡ mặc dù – Manish

+0

Xem uppdate của tôi. – RedFilter

Các vấn đề liên quan