當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript 调用本地exe文件
生活随笔
收集整理的這篇文章主要介紹了
JavaScript 调用本地exe文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
web項目中要調第三方客戶端,于是歸納整理了js調用客戶端exe程序的幾種方法,如下:
??? 方法一 : ?使用ActiveXObject直接執行指定路徑的.exe文件 ,此方法只針對IE瀏覽器
<html> <head> <script language="javascript"> function Run(strPath){ try {var objShell = new ActiveXObject("wscript.shell"); if(!objShell){alert('Could not get reference to WScript.Shell');return;}objShell.exec(strPath); objShell = null; }catch(errorObject){alert('Error: ' + errorObject.message);} } </script> </head> <body> 請輸入要運行的程序路徑:<br> <input name=exe type=text size=20 value="D:\a.doc"> <BUTTON class=button οnclick="Run(exe.value)">確定</BUTTON> </body> </html>? ??方法二: ?通過URL Protocol實現調用本地應用程序,任何瀏覽器都兼容
以下轉載自 :?Js調用exe程序方法(通過URL Protocol實現網頁調用本地應用程序)
1.使用記事本(或其他文本編輯器)創建一個protocal.reg文件,并寫入以下內容
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTWebshell] @="URL:Webshell Protocol Handler" "URL Protocol"="" [HKEY_CLASSES_ROOTWebshellDefaultIcon] @="C:\Program Files (x86)\Tencent\WeChat\WeChat.exe" [HKEY_CLASSES_ROOTWebshellshell] [HKEY_CLASSES_ROOTWebshellshellopen] [HKEY_CLASSES_ROOTWebshellshellopencommand] @=""C:\Program Files (x86)\Tencent\WeChat\WeChat.exe" "%1""2.修改參數
使用記事本打開文件后,按照下圖說明修改相關參數
2.1修改連接名稱
修改紅框內名稱自定義即可,全部使用英文字符(該名稱即為調用時的href),共六處
?
2.2修改可執行文件路徑
修改紅框內可執行文件路徑,共兩處
需注意:文件路徑中使用//分割
3.執行protocal.reg文件
4.創建調用連接
連接地址為 步驟1中所命名的鏈接名稱,后面加://hello,(hello為傳遞參數,可任意添加)
? ?
C#寫注冊表
public static void CreateRegedit(string strkey,string value){try{RegistryKey RegKey = Registry.ClassesRoot;RegistryKey regkey =RegKey.OpenSubKey(strkey, true);if (regkey == null)regkey = RegKey.CreateSubKey(strkey);regkey.SetValue("", "URL openOffice Handler");regkey.SetValue("URL Protocol", "程序名稱");RegistryKey regkeyDefaultIcon =regkey.OpenSubKey("DefaultIcon", true);if (regkeyDefaultIcon == null)regkeyDefaultIcon = regkey.CreateSubKey("DefaultIcon");regkeyDefaultIcon.SetValue("", Application.StartupPath + "\\程序名稱.exe");RegistryKey regkeyShell =regkey.OpenSubKey("shell", true);if (regkeyShell == null)regkeyShell = regkey.CreateSubKey("shell");RegistryKey regkeyopen =regkeyShell.OpenSubKey("open", true);if (regkeyopen == null)regkeyopen = regkeyShell.CreateSubKey("open");RegistryKey regkeycommand =regkeyopen.OpenSubKey("command", true);if (regkeycommand == null)regkeycommand = regkeyopen.CreateSubKey("command");regkeycommand.SetValue("", Application.StartupPath + "\\程序名稱.exe %1");RegKey.Close();RegistryKey RegUserKey = Registry.CurrentUser;RegistryKey regUserkey =RegUserKey.OpenSubKey(strkey, true);if (regUserkey == null)regUserkey = RegUserKey.CreateSubKey(strkey);RegistryKey reguserkeyDefaultIcon =regUserkey.OpenSubKey("DefaultIcon", true);if (reguserkeyDefaultIcon == null)reguserkeyDefaultIcon = regUserkey.CreateSubKey("DefaultIcon");reguserkeyDefaultIcon.SetValue("", Application.StartupPath + "\\程序名稱.exe");RegUserKey.Close();}catch (Exception ex){LogManager.WriteError("CreateRegedit", ex.StackTrace);} }總結
以上是生活随笔為你收集整理的JavaScript 调用本地exe文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 提高与高权重网站交换友情链接成功率
- 下一篇: JS进度条特效