整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

html(网页)运行本地程序(exe文件)的方法与源码

信大家在使用一些软件的时候会发现,只要点击了它们的一些网页广告就会运行一些推广软件或者是官方软件。它们是怎么实现的呢?其实方法很简单,听来群网慢慢道来。

下面链接是微软MSDN上的说明,为了大家易懂,所以在这里分享给大家:http://msdn.microsoft.com/en-us/library/aa767914%28v=vs.85%29.aspx

当然,或许还有更复杂的方法,小编只举一个简单的例子。

此方法分两部份:1. 注册表代码部份; 2. HTML代码部份

1.注册表代码:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\laiqun]
@="laiqun Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\laiqun\DefaultIcon]
@="C:\\WINDOWS\\NOTEPAD.EXE"
[HKEY_CLASSES_ROOT\>laiqun\shell]
@=""
[HKEY_CLASSES_ROOT\laiqun\shell\open]
@=""
[HKEY_CLASSES_ROOT\laiqun\shell\open\command]
@="\"C:\\WINDOWS\\NOTEPAD.EXE\" "

注释:laiqun代表链接前缀如:[laiqun://], 可修改为您想要的前缀。

C:\WINDOWS\NOTEPAD.EXE\ 代表需要执行EXE的路径(可执行文件),可替换您想运行的程序。

修改完后保存,将TXT文件重命名为【文件名.Reg】然后运行就加入注册表中(如下图)

注册表代码

2.html代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div>
<a href="laiqun://">此处文字按需修改</a>
</a>
</div>
</body>
</html>

把上面的html代码复制到notepad++,修改完成后点击保存,然后把TXT后缀修改成html即可(如下图)。

HTML代码

打开html文件点击里面的链接就能直接打开笔记本,我里面路径写的是记事本程序的路径,所以点击的时候是打开记事本,这个文件路径可以在注册表程序中修改。

注意:编辑代码建议使用 notepad++等专业文本编辑器,不建议使用电脑自带的记事本。

好了,关于 html(网页)运行本地程序(exe文件)的方法与源码 的教程就到这里,谢谢大家支持。

如果大家有什么不明白的地方,可以在下方评论、留言。

能:纯VUE,纯前端实现文件上传,支持文件上传,大文件上传,文件夹上传,100G超大文件断点续传,MD5校验,文件秒传,云存储,比如阿里云,七牛云,华为云,百度云,腾讯云,

核心优势:使用简单,配置简单,集成简单,维护简单。提供前端源代码,提供后端源代码,提供7*24小时专业工程师技术支持。


代码:https://gitee.com/xproer/up6-vue-cli

1.引入up6组件

2.配置接口地址

接口地址分别对应:文件初始化,文件数据上传,文件进度,文件上传完毕,文件删除,文件夹初始化,文件夹删除,文件列表

参考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de

3.定义事件

时,我们希望实现这样一个特性:单击HTML页面上的链接将调用本地可执行文件。像腾讯QQ、迅雷这类。

实现此功能也非常简单,这需要我们添加和修改注册表来实现自定义URL协议协议。

自定义URL Protocol 协议

一些应用软件可以在浏览器中点击一个url后自动启动,并执行操作。

1. win+r打开注册表,输入regedit进入注册表

2. 在注册表 左边最上面HKEY_CLASSES_ROOT那个树右键新建——项。该项的名称自己命名,其实该名称也是协议的名称,我们调用的时候就是根据该协议调用的,而我这里随便起了一个:ZZO。

3. 然后在该项中右键->新建->字符串值,创建一个URL Protocol的值,其中数据默认为空。

4. 然后在ZZO下新建->项,名字为DefaultIcon

5. 在ZZO下新建->项,名称为shell。并在shell下新建名为open的项。然后在open下新建名为command的项

6. 然后分别修改DefaultIcon 和 command 的值为要调用的程序完整路径.

比如我这里要调用的是QQ,完整路径为:D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe

7. 然后我们在html页面添加一个a标签

<a href="Zzo://">open</a>

8. 点击页面按钮

通过网站调用可执行程序,主要是修改注册表,注册 URL Protocol 协议。

注意上面 command 项的值可以为 C:\Program Files (x86)\Qiaoker\updater.exe "%1" ,这个"%1"是传递给 updater.exe的参数。

加了后使用是我们就可以传参数了,

<a href="Uaiqiy://cid:110&username:mjq">

方式二:使用js调起客户端

除了上面那种方式,我们还可以通过调用js函数实现客户端exe程序的调用,但是这种方式局限性很大,目前只支持IE浏览器。

代码如下:

function execProgram() {

var exepath = "D:\Program Files (x86)\Tencent\QQMusic\QQMusic.exe"

var ws = new ActiveXObject("WScript.Shell");

ws.Exec(exepath);

}