通过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窗口打开,如果要在控件中打开,也可通过控件提供的函数。
一、从网页到程序。
分析现在流行的做法,大多使用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窗口打开,如果要在控件中打开,也可通过控件提供的函数。
相关文章推荐
- Js调用exe程序方法(通过URL Protocol实现网页调用本地应用程序)
- php动态网页实现页面静态化 通过在初次被访问时生成html文件保存起来,下次该PHP程序被访问时就直接找到以前被访问过的html页面
- [转载] C#实现通过程序自动抓取远程Web网页信息
- 迅雷,电驴通过利用URL Protocol实现网页调用本地应用程序
- 自我学习总结2:在各个网页基本上一致时,通过URL传一个值就可以实现一个html实现多个页
- 通过注册新协议实现网页链接打开本地程序
- C#实现通过程序自动抓取远程Web网页信息
- 最近在编一个通过代理实现网页模拟点击和POST的Internet程序
- php动态网页实现页面静态化 通过在初次被访问时生成html文件保存起来,下次该PHP程序被访问时就直接找到以前被访问过的html页面
- C#实现通过程序自动抓取远程Web网页信息
- Python通过解析网页实现看报程序的方法
- C#实现通过程序自动抓取远程Web网页信息(转载)
- js 通过URL Protocol实现网页调用本地应用程序exe或者bat
- C#实现通过URL触发自己的程序
- C#实现通过程序自动抓取远程Web网页信息
- php动态网页实现页面静态化 通过在初次被访问时生成html文件保存起来,下次该PHP程序被访问时就直接找到以前被访问过的html页面
- 微信小程序与内嵌网页交互实现支付功能
- C/C++程序实现通过http代理访问网页内容
- C#实现通过程序自动抓取远程Web网页信息的代码
- php动态网页实现页面静态化 通过在初次被访问时生成html文件保存起来,下次该PHP程序被访问时就直接找到以前被访问过的html页面