常见的诸如网页点击某个链接启动了本地的迅雷、Q旋风等下载工具,亦或者是在某网页点击某QQ头像弹出本地QQ。其实方法比较简单,就是windows下注册表里面写好了,如果浏览器的开头(协议标识符)是tencent://之类的就打开QQ,其他也类似。下面给一个例子。
本地应用程序如下:
#include
int main(int argc, char** argv)
{
std::cout << "Hello world." << std::endl;
std::cout << "argc: " << argc << std::endl;
for(int i = 0; i < argc; i++)
std::cout << argv[i] << std::endl;
int t;
std::cin >> t;
return 0;
}
功能是简单输出helloworld,并打印启动时的参数(参数有文章可做哦,比如QQ的标明某QQ号,应用程序解析出QQ号,就打开与该QQ号聊天的窗口)。后面的等待输入t,只是为了方便看结果。
注册表:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTfoo]
"URL Protocol"="d:a.exe"
@="fooProtocol"
[HKEY_CLASSES_ROOTfooshell]
[HKEY_CLASSES_ROOTfooshellopen]
[HKEY_CLASSES_ROOTfooshellopencommand]
@=""d:a.exe" "%1""
HKEY…ROOT后的foo就是协议,其中a.exe为上面应用程序的路径。浏览器输入这样的地址就可以启动“foo://xxx ”就可以启动,比如输入“foo://hello/?helo” 回车,会有是否允许网站打开本地程序的安全提示,允许后就是这样的结果。
以上针对Windows、IE可行,其他平台或者浏览器应该有类似的方案,可以参考以下参考资料。
参考:
[1] http://kb.mozillazine.org/Register_protocol
[2] http://geeklu.com/2011/01/start-application-from-url-talk-about-wangwang/
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级