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

来源:互联网 发布:jdk java se v1.8 编辑:程序博客网 时间:2024/06/05 07:53

在内嵌网页的程序里,网页和程序通常都需要交互,最有效的手段就是通过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窗口打开,如果要在控件中打开,也可通过控件提供的函数。

原创粉丝点击