首页 新闻 搜索 专区 学院

URL自定义协议的调用(web启动本地客户端),

0
悬赏园豆:10 [已解决问题] 解决于 2015-09-23 14:23

目前应公司要求,需要在网页上启动本地客户端,指向注册表的command节点,获取本地程序所在的目录,但是只能指向默认的节点,我在vs打包部署中添加了(默认)键名,但是最后网页指向的是第一个默认,不知道大家有什么好的办法,1、可以在打包部署的指向位置指向所要指向的位置,该是一个怎么写法,2、设置command的默认值,而不需要新建字符串值,写的不是很清楚,希望大家支支招,(js不考虑,存在兼容性,需要火狐谷歌插件)

 

 

 

Mask1的主页 Mask1 | 初学一级 | 园豆:113
提问于:2015-07-23 10:17
< >
分享
最佳答案
0

其实没很明白你的意思。不过就截图而言,是不是注册表写入的相关问题。。。

以前我写url协议的时候,做了一个批处理,用来安装url协议。

@echo off

rem 参数依次为 程序名称 
@echo 服务名称:%1

rem 进入当前目录
cd /d "%~dp0"

reg add HKEY_CLASSES_ROOT\%1 /v "URL Protocol" /t REG_SZ /d "%~dp0%1%.exe" /f

reg add HKEY_CLASSES_ROOT\%1\shell /v "" /t REG_SZ /d "open" /f

reg add HKEY_CLASSES_ROOT\%1\shell\open /v "" /t REG_SZ /d "open" /f

reg add HKEY_CLASSES_ROOT\%1\shell\open\command /v "" /t REG_SZ /d "\"%~dp0%1.exe\" \"%%1\"" /f

@echo     协议注册完成

调用这个批处理,传程序的名字就ok了。

收获园豆:10
冲动 | 菜鸟二级 |园豆:394 | 2015-07-23 11:18

注册表中的[TARGETDIR]使用与用户安装的时候记录下安装路径,问题有2个,一个是路径写入command默认中去。为了测试,我将command默认项中写死了,可以找到这个路径,但是浏览器启动不了,

Mask1 | 园豆:113 (初学一级) | 2015-07-23 12:22

你们有人对 HKEY_CLASSES_ROOT 中添加自定义协议熟悉的吗

Mask1 | 园豆:113 (初学一级) | 2015-07-23 13:55

你说的这个批处理我懂,但是我要把客户端给用户,让用户自己安装,所以安装路径不能写死了,还有就是需要用到打包部署工具,我是用的vs2010,inno setup也行,但是有些麻烦,打包部署后的安装数据包msi格式的,发给用户,这时用户双击msi就可以安装了,用户安装的记录会被写入到他自己电脑中的注册表中,然后我在给一个网址用户,用户点击链接会去操作注册表,查找到这个路径并且启动,现在启动都解决了,还有一点问题没解决的就是打包部署后写的位置有点问题。

自定义协议有着广泛的应用,像QQ、迅雷、淘宝等等这些的常见的应用程序都会使用自定义协议。特别在大型的企业系统开发过程中,C/S、B/S融合开发的 情况很常见,这时候自定义协议更发挥其独特的作用。一般在系统自动更新,客户端信息获取等这些功能上都会使用自定义协议进行开发。相对于ActiveX控 件,自定义协议不会受到浏览器的约束,更能简化客户端与浏览器之间的信息传信。我这么说你应该等得我的要求了

Mask1 | 园豆:113 (初学一级) | 2015-07-23 14:51

@Mask-male: 嗯,可能说的不够仔细。

是酱紫的,我打包的时候,在安装完毕之前(文件都已经拷贝完毕了,包括批处理),然后执行这个批处理,给它传递一个参数,就是文件名(对应exe名称)。批处理会获得当前所在路径,然后动态拼接出对应的注册表项的路径。

冲动 | 园豆:394 (菜鸟二级) | 2015-07-23 15:21

@冲动: “在安装完毕之前(文件都已经拷贝完毕了,包括批处理)”有点不懂你的意思,是用户点击安装路径下一步的时候批处理写入注册表吗,使用vs还是需要新建一个reg文件写入,将安装路径使用传参写入到注册百中?,后面是这个意思,就是细节上操作出现问题,就是关于写入注册表,最好有打包的实例,目前能做的就是利用vs打包部署将路径写入到任何节点下,但惟独不能写入自带的文件中,你能使用vs打包部署,写入路径在这个红线框中吗?

Mask1 | 园豆:113 (初学一级) | 2015-07-23 15:53

@Mask-male: vs打包我不会用,怎么调用执行什么的,我不会。。。。我在重新讲解一下顺序吧

1.打包完成,包含客户端文件,已经批处理

2.安装程序

3.安装程序首先会复制文件到用户机器上,文件全部拷贝完毕

4.在结束之前,执行这个批处理。因为步骤3已经拷贝了所有文件,所以批处理肯定是在硬盘上的,可以被执行。

5.批处理来给你完成 注册表相关设置

6.用户点击完成,结束。

冲动 | 园豆:394 (菜鸟二级) | 2015-07-23 16:01

@冲动: 问题终于解决了,纠结好久了

Mask1 | 园豆:113 (初学一级) | 2015-07-28 14:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册