通过自定义协议在Web中启动本地应用程序
实例是打开本地安装的Word程序
注册自己的协议
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\word]
@="word"
"URL Protocol"="C:\\ProgramFiles (x86)\\Microsoft Office\\Office14\\WINWORD.EXE"
[HKEY_CLASSES_ROOT\word\DefaultIcon]
@="C:\\Program Files (x86)\\MicrosoftOffice\\Office14\\WINWORD.EXE,1"
[HKEY_CLASSES_ROOT\word\shell]
@="open"
[HKEY_CLASSES_ROOT\word\shell\open]
@="open"
[HKEY_CLASSES_ROOT\word\shell\open\command]
@="\"C:\\Program Files(x86)\\Microsoft Office\\Office14\\WINWORD.EXE\" \"%1\""
第一行,注册表工具的版本信息
第二行, HKEY_CLASSWES_ROOT\添加word树,树的名称对应自定义的URLProtocol的名称,web调用中需要用到这个名称
第三行,协议的名称,任意字符,后面不会用到
第四行,可应用程序的路径,只能是exe的程序
第五行,word添加一个分支,照抄
第六行,应用程序的路径,1照抄
第七行,word添加一个分支,照抄
第八行,照抄
第九行,word添加一个分支
第十行,照抄
第十一行,word添加一个分支,照抄
第十二行,应用程序路径,%1表示参数
注:
1) 路径使用双杠“\\”
2) 如果字符串中有双引号(”),那么需要加转义字符“\”
3) 将文件名称改为form.reg,双击文件执行,将这些项写入到注册表
检验是否注册成功
1)开始-运行 输入form://test/,可以运行该程序则表示注册成功了,test是传入的参数,直接输入form:也是可以运行的;
2)在浏览器的地址栏直接输入:word://test,可以运行则表示注册成功。
在web中启动word程序
<!DOCTYPE HTML PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
<div>
<a href="word:/id:">打开本地Word</a><br>
</div>
</body>
< /html>