浏览器中调用本地应用程序

参考百度云盘调用本地应用程序,在调起应用程序的同时传入一些参数,应用程序根据参数做出相应的操作。

主要思路是利用自定义URL Protocol来调用应用程序。浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序,然后启动改程序,传入参数。主要实现步骤如下

  • 自定义URL Protocol
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\OCR]
"URL Protocol"="D:\\OCR\\OCR.exe"
 
[HKEY_CLASSES_ROOT\OCR\DefaultIcon]
@="D:\\OCR\\HLOCR.exe"
 
[HKEY_CLASSES_ROOT\OCR\shell]
 
[HKEY_CLASSES_ROOT\OCR\shell\open]
 
[HKEY_CLASSES_ROOT\OCR\shell\open\command]
@="\"D:\\OCRHLOCR.exe\" \"%1\" "

自定义URL Protocol的注册表信息说明:

Windows Registry Editor Version 5.00 是注册表工具的版本信息,可以自己改一改,或者自己导入任意一个注册信息,把这一行复制过来就行了;

[HKEY_CLASSES_ROOT\OCR] 中的OCR就是在HKEY_CLASSES_ROOT下面添加一个OCR树,其中OCR的名称就对应着自定义URL Protocol的名称,在web中调用的时候需要这个名称;

D:\\OCR\\OCR.exe中的"D:\\OCR\\OCR.exe"是指定应用程序的路径,注意只能是exe的程序;

[HKEY_CLASSES_ROOT\OCR\shell] 是协议的名称,可以是任意字符串,后面不会用到;
 
[HKEY_CLASSES_ROOT\OCR\shell\open] 表示在OCR中再加一个分支,照抄,不用管
 
[HKEY_CLASSES_ROOT\OCR\shell\open\command] 照抄

"D:\\OCRHLOCR.exe\" \"%1\"  程序路径,其中%1表示到参数,参数可以在你的程序COR.exe中进行解析

  • 保存为reg格式文件

注册时可能出现“无法导入reg:指定的文件不是注册脚本”,需要把编码格式改成Unicode,并且第一行不能为空行

  • 网页调用 

调用协议为超链接形式,如下所示:

<a href="OCR://123">OCR</a>
  • 参数接收(QT为例),根据不同参数做出不同相应即可
QMessageBox::information(NULL,"",QString("参数个数%1").arg(argc));  
for(int i = 0; i < argc; i++)
{
    QMessageBox::information(NULL,"",QString("参数:%1").arg(argv[i]));
}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值