Windows 注册自定义的协议 实现通过网页调用本地程序的功能例如QQ等

1、注册应用程序来处理自定义协议

         你必须添加一个新的key以及相关的value到HKEY_CLASSES_ROOT中,来使应用程序可以处理特殊的URL协议。

         新注册的key必须与协议scheme相匹配才可以被添加。例如,增加一个“alert:”协议,被增加到HKEY_CLASSES_ROOT的key必须是alert。在这个新的key之下,默认的字符串value将显示新协议的名字,并且URL协议字符串value将包含协议特有的信息或者空字符串。Keys将同样被添加到DefaultIcon和shell中。

         默认的DefaultIcon key的字符串value必须是新URL协议图标文件名的路径。

         在shell key之下,一个key使用一个动词(就像open)将被添加。一个command(命令) key和一个DDEEXEC(动态数据交换执行) key都是使用动词来添加的。这command和DDEEXEC keys之后的values都是用来调用(或者启动)处理新协议的应用程序。

 

2、启动处理程序

         当一个用户点击一个注册了你的自定义URL协议的链接后,Windows Internet Explorer(IE)启动注册的URL协议的处理器。如果指定shellopen命令在注册表中包含一个%1参数的话,Internet Explorer传递这个URI给注册协议的处理器。这最后的统一资源标识符(URI)被编码(%1);即16进制换码符被转换为等价的UTF-16字符。例如,用%20字符串取代空格。

         安全警示:应用程序处理URL协议必须全力面对恶意数据。因为处理程序接收来自不信任源的数据,URL和其它参数值传递给应用程序可能包含的恶意数据企图使用处理程序。因此,处理程序可以首先启动基于外部数据的空闲行为确认这些行为以及它们的用户。

 

3、示例

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\LxNetWork]

@="LxNetWorkProtocol"

"URL Protocol"="D:\\abc.exe"

[HKEY_CLASSES_ROOT\LxNetWork\DefaultIcon]

@="D:\\abc.exe,1"

[HKEY_CLASSES_ROOT\LxNetWork\shell]

[HKEY_CLASSES_ROOT\LxNetWork\shell\open]

[HKEY_CLASSES_ROOT\LxNetWork\shell\open\command]

@="\"D:\\abc.exe\" \"%1\""

3、调用

<a href="LxNetWork://Message"> dd</a> 

将这里的代码保存到TXT然后在改成HTML,打来试一下正常吗?

时间: 2024-11-03 21:59:29

Windows 注册自定义的协议 实现通过网页调用本地程序的功能例如QQ等的相关文章

|zyciis| 慕白兄以前教我的从网页调用WinFrom程序的例子,那个WinForm程序执行完后可不可以返回数据到那个页面呢

问题描述 我现在在做发IC卡的程序在网页中添加一个ID,然后发卡http://topic.csdn.net/u/20071217/18/420dd1f2-6f17-4854-a08b-1480928c4ea8.html这个时候我就用ICCard:|1|sdf5465sd1f213sd//前面的为用户户后面的为验证MAC传了一个用户ID过去然后在客户端用程序给这个用户发一张VIP卡,并在客户端用WebService去更新数据库当发完VIP卡后,网页是没有改变的,这个时候就要手动的刷新一下才能从数据

asp.net网页调用本地打印机打印所以Lodop插件,在苹果系统中无法使用,怎么办

问题描述 在asp.net中,我们要调用本地打印机,只能去使用插件进行读取本地打印机,lodop确实很好用,兼容大部分主流浏览器,然后,我们在苹果笔记本上测试时,问题来了..exe格式的客户端插件,无法在苹果系统中运行,向各位的大神求救,lodop是否存在ios的版本,又或者,苹果笔记本中,有没有可以使用的网页调用本地打印机的插件,可以给我介绍一下,谢谢了 解决方案 解决方案二:我感觉这应该是一个跨平台的问题,可我确实没仔细学过IOS,求大神教育一下,这下该怎么办解决方案三:那个插件不存在IOS

我的IE网页调用cgi程序时,浏览器却自动跳出下载窗口。要怎么设置,或者修改程序让IE执行cgi程序?

问题描述 我的IE网页调用cgi程序时,浏览器却自动跳出下载窗口.而用google浏览器,就能正常执行cgi程序.请问要怎么设置,或者修改程序让IE执行cgi程序?求各种帮拖,大爱 解决方案 解决方案二:在IIS上运行CGI有十个简单的步骤:1)安装InternetServiceManager.2)从列表中选择WWWServive.3)选择Properties/ServiceProperties命令.4)单击Directories标签.5)单击Add按钮.6)指定自己的cgi-bin目录的完整路

通过Html网页调用本地安卓(android)app程序代码_Android

一.通过html页面打开Android本地的app 1.首先在编写一个简单的html页面 复制代码 代码如下: <html>     <head>         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">         <title>Insert title here</title>     </head&

javascript实现在网页中运行本地程序的方法_javascript技巧

本文实例讲述了javascript实现在网页中运行本地程序的方法.分享给大家供大家参考,具体如下: <input onclick="exec('notepad.exe')" value="执行noteppad.exe" type="button"> <input onclick="exec('cmd.exe')" value="执行cmd.exe" type="button&qu

保护Windows注册表

保护注册表是很重要的,有很多不同的工具可以实现这一目的.当没有安全设置时,用户可能的错误会更多.幸运的是,他们可以有几中方法来保护Windows注册表,在注册表失败时他们可以用额外的拷贝来恢复注册表.下面就是其中的一些方法:   1.使用windows备份软件   注:Win95和Win98备份程序有部分区别,在这里只讲Win98的备份程序.   Win98中包括一个备份程序.当安装Win98时如果你选择"自定义安装",或者你可以在控制面板中的添加/删除程序里安装它.当你安装了这个备份

Win8如何通过“自定义用户代理字符串”来解决网页兼容性问题

  Win8如何通过"自定义用户代理字符串"来解决网页兼容性问题           方法如下: 1.Win +R 组合键调出"运行"对话框,输入"gpedit.msc",确定; 2.打开"本地组策略编辑器".在左侧列表中定位到"计算机配置→管理模板→Windows 组件→Internet Explorer"; 3.然后在右侧窗口中找到"自定义用户代理字符串"设置项; 4.双击"

用CB控制Windows注册表

Windows注册表中包含了系统配置.机器硬件配置.Win32应用程序和用户的其他配置信息.注册表根据系统信息分为六个根键(RootKey),其中每个根键各有一个由子键和键值组成的树状结构,每个子键代表一个特定的配置项目. 用C++Builer控制注册表的关键在于了解TRegistry 类.在C++Builder的VCL类库中,提供了TRegistry类,通过在应用程序中生成这个类的实例,我们可以实现对注册表的控制.在TRegistry类中,重点应该掌握如下问题: 1.TRegistry类的生成

快速扫除windows注册表垃圾的方案

注册表在windows系统中是一个重要的数据库,存储着系统和应用程序的设置信息,在安装软件时都会加载很多信息表,但是卸载的时候无法自动全部删除,会遗留下很多注册表冗余垃圾,这时候我们就要对它进行垃圾的扫除,减轻注册表的负担. 快速扫除windows注册表垃圾的方案 1.使用第三方安全软件清理注册表垃圾 利用超级兔子.优化大师.安全卫士一系列的第三方软件清理,下面小编就以金山卫士为例,打开主界面,找到垃圾清理-清理注册表,开始扫描清理即可,金山卫士会自动把注册表备份,就不用我们在单独备份了,要是出