很奇怪一件事情:我们在逛淘宝的时候,看中了一件宝贝,我们一般都会用阿里旺旺联系卖家,这个时候,我们只要点击""这样的图标,阿里旺旺会自动运行,并启动与卖家对话的窗口,这个功能就是用自定义协议实现的。众所周知,QQ是C/S模式,而整个腾讯也是靠QQ发家的,但现在腾讯正集中火力完善B/S构架的WEBQQ;像优酷、土豆这样的视频网站都是从B/S做起的,而现在都推出了C/S客户端;可以预见,C/S和B/S相结合是将来互联网企业发展的趋势,而连结这两者的桥梁就是自定义协议了。
下面用一个例子来讲解自定义协议的实现:
一、首先,编写一个用于测试我们自定义协议的程序(相当于阿里旺旺)。该示例程序用C++实现,并在VC6.0+Windows XP SP3下编译通过,具体代码如下:
我们把编译生成的程序命名为:ProtocolTest.exe,放在C盘根目录。
二、在注册表中注册要使用的自定义协议。在此,以添加"aricc"协议为例。(必要时候可以写程序来完成以下操作)
1、在HKEY_CLASSES_ROOT下添加项aricc.
2、修改aricc项下的"(默认)"键值为"URL:自定义协议"。这部分可以自己随便写。
3、在aricc项下再添加一个字符类型的键"URL Protocol",值随便。
4、在aricc项下新建项"shell"
5、在shell项下新建项"open"
6、在open项下新建项"command"
7、修改command项的默认键值为(此处包含引号) "c:/ProtocolTest.exe" "%1"
到此自定义协议注册完毕。如下图:
三、测试。
1、打开记事本,输入以下代码,并保存为1.html
2、双击上面的html文件,以在浏览器中打开。
3、点击页面中的链接。
4、你发现刚才写的程序运行了。在弹出的消息框中显示 "aricc://TestCommandLine/"。如下图: