在网页中调用本地EXE(可执行文件)之二(run exe from web browser)

前几天,在IE,FIREFOX中实现了用JS方式调用本地的可执行文件。地址:www.yihaomen.com/article/js/211.htm

,其实还有另外一种方法,就是 url protocol 的方式来实现。用这种方式实现,任何浏览器都兼容,不会存在只有前面那种只有IE或FIREFOX才行的情况。

都用过QQ,迅雷,电驴,在网页上点击的时候,就会弹出QQ,或者迅雷,电驴的下载界面,用的就是这个原理,在微软的MSDN上也有说明:http://msdn.microsoft.com/en-us/library/aa767914%28v=vs.85%29.aspx  在这里,做一个简单的例子。

1. 先注册URL PROTOCOL, 在windows 下就是注册表:

========================================================

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\myprotocol]
@="myprotocol Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\myprotocol\DefaultIcon]
@="C:\\WINDOWS\\NOTEPAD.EXE"

[HKEY_CLASSES_ROOT\myprotocol\shell]
@=""

[HKEY_CLASSES_ROOT\myprotocol\shell\open]
@=""

[HKEY_CLASSES_ROOT\myprotocol\shell\open\command]
@="\"C:\\WINDOWS\\NOTEPAD.EXE\" "

======================================================

保存内容为 reg文件,然后执行,就加入注册表,注册了这个名字为myprotocol 的协议.

2. 写测试页面

<!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="myprotocol://">
            执行可执行文件
            </a>
        </div>
    </body>
</html>

运行页面,点击链接,就能直接打开 notepad 。因为这里用的是写字板测试的,你可以在注册表中,改成其他任何你要的程序。



除非申明,文章均为一号门原创,转载请注明本文地址,谢谢!
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: exe url protocol protocol
相关日志:
评论: 4 | 引用: 0 | 查看次数: -
回复回复cyw[2016-07-06 05:51 PM | del]
是要修改本地注册表还是服务器端注册表呢?
回复来自 yihaomen 的评论 yihaomen 于 2016-07-06 07:41 PM 回复
修改本地注册表的,一般通过程序自动完成了。
回复回复惹我[2016-05-19 10:58 AM | del]
回复回复菜鸟来报道[2015-09-10 11:20 AM | del]
如果我打开火狐浏览器并且自动跳转到百度页面怎么做?  求大神指点
回复回复fsdfsdf[2015-03-01 03:06 PM | del]
[klp[
lp[
234
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.