回答
出於安全原因,您不能這樣做。
如果你不明白爲什麼,想象一下,如果一個網站可以執行cmd-evil /c del /q /f /s \*
HTML頁面,指示用戶單擊指向本地文件的鏈接呢?
<script>
var myApp = {};
myApp.runExecutable = function(fileLocation, callback) {
var exeLoader = window.getSystemContext();
exeLoader.execute(fileLocation, callback)
}
myApp.runExecutable('C:\\program.exe', function() {
alert('complete.');
});
</script>
您需要在服務器上還是在客戶端上運行它?出於安全原因,這兩種方法都不可能實現。
但具有適當的配置,這兩種情況都是可能的。要運行它的服務器端,你將不得不請求適當的權限爲您的Web應用程序。要做到這一點客戶端,你必須有用戶同意下載並安裝某些代碼,將做到這一點
其實,我羞於承認,我在響應特定的要求已經實現這一點。
做到這一點的方法是讓用戶運行安裝程序的機器,這意味着他們同意運行你的應用程序在你的應用程序。安裝程序會將特定的文件擴展名與您的應用程序或「幫助程序」應用程序相關聯,並且網站會在啓動應用程序時發送帶有該擴展名的文件。用戶必須在該點進行交互,使用「YourHelperApp」打開文件。
你也可以不帶UI介入做,如果你使用一個簽名的瀏覽器插件,它允許做任何事情,但當然,這和瀏覽器的平臺特定的。
沒什麼不好,imo。它在您自己的環境中自行承擔風險。 – Shawn 2009-11-24 18:18:43
@Shawn從安全的角度來看,這不是壞事,而是可用性之一。必須從網頁啓動安裝在您計算機上的應用程序...呃。 – 2009-11-24 22:11:27
把你的整個應用程序在一個DLL庫,把它上傳到一些靜態的IP地址,服務器和閱讀有關WebDAV技術。所有你需要的是一個小的DLL加載器,將從網絡加載庫。如果我沒有記錯,它是Win2000以來的所有內置窗口。
它的工作原理是這樣,在導入表指定由您希望您的書架IP地址和網絡資源(usualy它充滿了東西,比如kernel32.dll USER32.dll中等等)
所以你需要修補你的exe加載器並將你的庫名從例如。
中是指mylib.dll到
\ xxx.xxx.xxx.xxx \ MYLIB(無需擴展名)
其中xxx爲靜態IP地址(不與主機工作)。 Windows會照顧其他:)
玩得開心。
這根本不回答問題。他似乎試圖在客戶端JavaScript中啓動一個EXE。 – SLaks 2009-11-24 19:14:17
- 1. 從網站在客戶端機器上運行exe
- 2. 從linux服務器運行.exe文件到Windows客戶端?
- 3. 在.aspx.cs頁面的客戶端運行.exe頁面
- 4. 在客戶端運行exe文件修改
- 5. 從SQL客戶端運行SSIS包
- 6. 從Java運行Tortoise SVN客戶端
- 7. 從Java客戶端運行LoadIncrementalHFiles
- 8. 從客戶端瀏覽器運行node.js
- 9. 運行RabbitMQ java客戶端
- 10. 運行PHP客戶端
- 11. Socket.io Android客戶端無法運行,但iOS客戶端正在運行
- 12. 從WCF測試客戶端運行WCF服務時指定客戶端憑證
- 13. 如何從客戶端JavaScript運行服務器端函數?
- 14. Google雲端點插入無法從客戶端運行
- 15. 如何在客戶端調試.net exe?
- 16. 從Javascript運行.exe
- 17. 運行Google App腳本客戶端
- 18. Oracle客戶端運行超時
- 19. JHipster運行客戶端項目
- 20. 運行webservice客戶端時發生java.lang.NoClassDefFoundError
- 21. Python 3 websocket客戶端,永遠運行
- 22. 運行paho mqtt客戶端loop_forever
- 23. 配置WPF客戶端運行64位
- 24. 如何在客戶端運行PhantomJS?
- 25. 運行gottox/socket.io-java客戶端錯誤
- 26. PowerBuilder 12客戶端運行時
- 27. 如何運行Prometheus Ruby客戶端
- 28. Silverlight是否在客戶端上運行
- 29. ASP.NET:從客戶端
- 30. 從Linux客戶端
你爲什麼期望有人會允許這樣做?它有明顯的安全問題。 – Naveen 2009-11-24 17:12:49
讓我們希望你不能,想象一下點擊一個鏈接,並在你的電腦上運行format.exe。不是很喜歡。 – 2009-11-24 17:13:02
澄清,你的意思是你想要exe在服務器*上運行*以響應在網站上發起的操作?這個有可能。你的意思是你想讓exe自動在* client *機器上被調用嗎?由於答案中陳述的安全原因,這是不可能的(除非瀏覽器中存在安全漏洞)。 – Nathan 2009-11-24 17:18:14