整合营销服务商

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

免费咨询热线:

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文件)的方法与源码 的教程就到这里,谢谢大家支持。

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

时,我们希望实现这样一个特性:单击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);

}

篇文章介绍一些 vim 使用技巧:

  • 把外部shell命令的执行结果写入文件
  • 使用vim将文件转出html格式

把外部shell命令的执行结果写入文件

在 vim 中,可以使用 :r !cmd 命令执行 shell 中的 cmd 命令,并把该命令的打印结果写入到当前光标的下一行。

例如,:r !date 命令执行 shell 的 date 命令,打印当前的时间,把这个打印结果写入到当前光标的下一行。

也可以在 r 命令的前面加上数字指定要写入到哪一行之后,而不是写入到当前光标的下一行。

例如,:2r !date 命令是把打印结果写入到第二行的后面,也就是写入到第三行,原先第三行会挪到第四行,后面的内容依此类推。

注意:如果不加感叹号 ‘!’,那么后面跟着的参数会被认为是文件名,如果存在该文件,会读取该文件内容,写入到当前光标的下一行。如果该文件不存在,则报错提示找不到文件。例如, :r date 命令是读取名为 date 的文件内容,写入到当前光标的下一行。

这里的 :r :read 命令的缩写。

在 vim 中,用 :help :r 命令查看 :r !cmd:r name 命令的帮助说明。部分关键说明如下:

:r[ead] [++opt] [name]
Insert the file [name] (default: current file) below the cursor.

:{range}r[ead] [++opt] [name]
Insert the file [name] (default: current file) below the specified line.

:[range]r[ead] !{cmd}
Execute {cmd} and insert its standard output below the cursor or the specified line.

使用vim将文件转出html格式

在 vim 中,可以使用 :TOhtml 命令来将当前文件转换出 html 格式文件。注意这个命令的大小写,不能写为 :tohtml 的形式。

:TOhtml 命令基于整个文件内容转成一个新的 html 文件,拆分新的 vim 水平窗口显示转换后的 html 文件内容。如有需要,可以自行修改文件内容做一些调整。最后,保存该 html 文件即可。

注意:这个 html 文件需要在 vim 中保存后才会生成本地文件,:TOhtml 命令并没有直接生成本地的 html 文件,也不会修改原有文件本身的内容,而是生成新的 html 文件。

如果只是需要转某几行代码(例如30行到42行),则执行 :30,42TOhtml 命令。

如果当前 vim 配置成显示行号,所转换出来的 html 文件中也会带有行号。不想带有行号的话,可以在转换之前,先执行 :set nonu 命令设置为不显示行号。