您的位置:首页 > 其它

通过URL前缀实现网页和程序交互

2008-06-23 14:51 260 查看
在内嵌网页的程序里,网页和程序通常都需要交互,最有效的手段就是通过URL调用。

一、从网页到程序。

分析现在流行的做法,大多使用URL前缀来区分,比如:
Purl://127.0.0.1/channels?cid=100
这主要是通过ActiveXObject来实现的。

1、前缀标识注册与分析
在注册表中添加前缀标识Purl:
[HKEY_CLASSES_ROOT/purl/shell/open/command]
@="C://Program Files//Purl//Purl.exe /"%1/""
这样通过命令行“Purl://127.0.0.1/channels?cid=100”(在“开始/运行”窗口中输入),系统将自动转换为:
C:/Program Files/Purl/Purl.exe "Purl://127.0.0.1/channels?cid=100"
其后在Purl.exe程序中加入对purl://前缀的处理即可

2、ActiveXObject控件注册
将Purl.exe程序注册为Com组件“Purl.TarmeeTest”,以保证可以跨进程调用。

3、网页中加入调用控制
以下为网页内JavaScript脚本,可以封装在*.js文件中,其他页面统一调用
var obj_D="Purl.TarmeeTest";
function obj_exists(objname){
var mbox_object;
try{
mbox_object= new ActiveXObject(objname);
return true;
}catch(x) {
return false;
}
}

function chksupboba(myChList){
if(!obj_exists(obj_D)){
if(confirm('您还没有安装系统软件/n/n下载,请点击[确定]/n/n退出,请点击[取消]')){
window.location = 'http://www.tarmee.com/setup.exe';
}
}else{
window.location = 'Purl://127.0.0.1/channels?cid=100';
}
}

二、程序到网页
这一步比较好实现,一般通过
ShellExecute(0, 'Open', PChar(string(URL)), nil, nil, SW_SHOWNORMAL);
即可用IE窗口打开,如果要在控件中打开,也可通过控件提供的函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐