通過瀏覽器開啟本地exe應用(支援任意瀏覽器)
阿新 • • 發佈:2018-12-20
IE瀏覽器下開啟指定路徑的EXE檔案:
function Run(strPath) { //alert(strPath); try { var objShell = new ActiveXObject("wscript.shell"); objShell.Run(strPath); objShell = null; } catch (e) { alert('找不到檔案"' + strPath + '"(或它的元件之一)。請確定路徑和檔名是否正確,而且所需的庫檔案均可用。') } //new ActiveXObject("wscript.shell").run(strPath); } function openCHSUtils(utilName){ var username = getQueryString('username'); var text = utilName+'.exe -devextensions -command -username='+username+' -password=a83d78f9ef0b81d845509797a63f7644da192abd308b3db77b8f517e4f2d706de3f1b5df77bdadc9 -Xms512m -Xmn512m -Xmx1024m'; Run(text); }
ActiveXObject為IE瀏覽器的特有物件,因此該方式僅允許在IE瀏覽器下使用,且使用前必須配置IE瀏覽器的安全策略。
如需向exe程式傳遞引數,拼接cmd命令時將引數加入即可。
chrome、firefox等瀏覽器開啟本地exe檔案
因瀏覽器的安全策略問題,除ie外的其他瀏覽器均無法直接開啟本地exe檔案,因此採用將exe路徑寫入登錄檔的方式開啟。
若需向exe傳遞引數,則需要用中間檔案將登錄檔傳入的引數進行轉換
登錄檔內容如下:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CapitalLogic] "URL Protocol"="D:\\MentorGraphics\\Capital2016.1\\bin\\CapitalLogic.exe" [HKEY_CLASSES_ROOT\CapitalLogic\DefaultIcon] @="D:\\MentorGraphics\\Capital2016.1\\bin\\CapitalLogic.exe" [HKEY_CLASSES_ROOT\CapitalLogic\shell] [HKEY_CLASSES_ROOT\CapitalLogic\shell\open] [HKEY_CLASSES_ROOT\CapitalLogic\shell\open\command] @="\"C:\\Users\\houman\\Desktop\\CapitalLogic.bat\" \"%1\" "
bat內容如下:
call CapitalHarnessXC.exe -devextensions -command -username=%1 -password=mangaer -Xms512m -Xmn512m -Xmx1024m
pause
若不需要向exe檔案傳遞引數,則直接通過登錄檔呼叫exe即可