第一种方法:自定义URL Protocol 协议
一些应用软件可以在浏览器中点击一个url后自动启动,并执行操作。
通过网站调用可执行程序,主要是修改注册表,注册 URL Protocol 协议。
注意到上面 command 项的值为 C:\Program Files (x86)\Qiaoker\updater.exe "%1" ,这个"%1"是传递给 updater.exe的参数。
1.win+r打开注册表,输入regedit进入注册表
2. 在注册表 左边最上面HKEY_CLASSES_ROOT那个树右键新建—项
双击名称可以修改数据里面的内容,右键可以新建字符串值
在defaulticon和command 的默认项填写exe的路径,这里用爱奇艺万能播放器测试一下,这样注册表部分就完成了。
注意到上面 command 项的值也可以为 C:\software\IQIYI Video\GeePlayer\3.0.40.3591\GeePlayer.exe "%1"
这个"%1"是传递给 updater.exe的参数。
加了后使用是我们就可以传参数了
href="Uaiqiy://cid:110&username:mjq"
在网页上直接一个超链接地址,协议://参数就可以了。这样在网页上点击就可以调用本地的exe文件了。
第二种方法:使用WScript.Shell
function Run(strPath)
{
var objShell = new ActiveXObject("wscript.shell");
objShell.run("notepad.exe") ;
//objShell.run("notepad d:/aa.docx");
//objShell.run("D:\\aa.docx");
objShell = null;
}
WScript.Shell对象的Run方法可以直接运行文件(包括协议文件),会启动相关联的程序打开该文件(没有关联则出错)。
比如:objShell.run("D:\\aa.docx");
Run方法可以直接运行位于path环境变量目录中的程序,还能运行在注册表App Paths中设置的程序“别名”.
比如:objShell.run("notepad.exe");