通过网页链接打开应用程序客户端的两种实现方式
来源:互联网 发布:淘宝买电棍 编辑:程序博客网 时间:2024/04/30 20:07
在注册表创建类似下面的键项和键值,
QQ:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT/Tencent]
@="TencentProtocol"
"URL Protocol"="C://Program Files//Tencent//QQ//Timwp.exe"
[HKEY_CLASSES_ROOT/Tencent/DefaultIcon]
@="C://Program Files//Tencent//QQ//Timwp.exe,1"
[HKEY_CLASSES_ROOT/Tencent/shell]
[HKEY_CLASSES_ROOT/Tencent/shell/open]
[HKEY_CLASSES_ROOT/Tencent/shell/open/command]
@="/"C://Program Files//Tencent//QQ//Timwp.exe/" /"%1/""
阿里旺旺:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT/Alitalk]
"URL Protocol"=""
[HKEY_CLASSES_ROOT/Alitalk/Shell]
[HKEY_CLASSES_ROOT/Alitalk/Shell/Open]
[HKEY_CLASSES_ROOT/Alitalk/Shell/Open/Command]
@="/"C://Program Files//Alisoft//WangWang//WangWang.EXE/" %1"
当我们点击网页上的链接或者直接通过浏览器输入tencent://或Alitalk://这样的URL时,这些输入全部作为命令行参数传递给应用程序。
我们的客户端程序需要对这些输入进行解析,然后做出响应。
第二种方式需要使用apps(Asynchronous Pluggable Protocols),需要apps的规则编写一个COM组件,MSN就是这种方式.
安装MSN的过程中会注册msgrapp.8.5.1288.0816.dll(我的机器上是这个文件,MSN是8.5的),同时在注册表注册msnim这个自定义协议scheme,
代码如下:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT/PROTOCOLS/Handler/msnim]
"CLSID"="{828030A1-22C1-4009-854F-8E305202313F}"
{828030A1-22C1-4009-854F-8E305202313F}就是这个协议对应的处理器(msgrapp.8.5.1288.0816.dll)的CLSID。
注册成功后,我们在浏览器中输入任何的以msnim:开头的URL请求都会发送到这个COM组件,由这个DLL来处理。
关于apps可以参考MSDN:
http://msdn2.microsoft.com/en-us/library/aa767916.aspx#About_URLs_and_Name_
- 通过网页链接打开应用程序客户端的两种实现方式
- 通过网页链接打开应用程序客户端的两种实现方式
- 通过网页链接打开应用程序客户端的两种实现方式
- 通过网页链接打开应用程序客户端的两种实现方式
- 通过网页链接打开应用程序
- android 打开网页的两种方式.
- 通过网页打开应用程序
- JavaScript 打开新链接的两种方式
- python用浏览器打开网页的两种方式
- Java GUI界面打开网页html的两种方式
- MFC通过链接打开网页
- 如何通过js来打开客户端的应用程序
- 实现axis2两种不同方式的客户端
- 实现axis2两种不同方式的客户端
- 实现axis2两种不同方式的客户端
- 网页用户登录权限校验的两种实现方式
- jquery两种方式实现链接失效
- jquery两种方式实现链接失效
- Spring Security3 入门一
- jQuery研究体会
- 一些有用的链接
- prime
- windows系统下oracle数据库rman备份记录(实战篇)
- 通过网页链接打开应用程序客户端的两种实现方式
- SqlServer2005自动生成数据字典
- JAVA3D学习系列(一)
- 通过网页链接打开应用程序客户端的两种实现方式
- HibernateDaoSupport详解
- db_block_checking与db_block_checksum
- oracle rman 备份与恢复 临时表空间的文件问题解决 留痕
- C++内存泄漏跨平台的检测方法
- Sort : QuickSort