点击网页按钮事件,获取相应参数并传递给本地待调用的exe程序,咱们采用的方式是在注册表中定义本身的协议,该自定义协议指明须要调用的应用程序,但因为参数要传递多个,无法直接调用,因而咱们又写了一个bat文件,在注册表中指明要调用的bat,在bat中处理参数并调用相应的exe,碰到的第一个问题就是上篇小结中提到的bat调用相对路径时,应用程序上方图标不显示的问题,后来加了全路径好了,但若是全路径包含空格,bat处理又有问题,咱们的处理方式是:html
set toolPathTemp="%~dp0" ::当前路径加上"",不加""bat直接退出了
set toolPath=!toolPathTemp:"=! ::去除多余的引号,toolPathTemp有两个双引号,用!!引用变量须要在加上setlocal\ide
enabledelayedexpansionurl
start /d "toolPath" "" "toolPath/xx.exe" !1! !2! ::/d指明exe所在全路径,后面的""是为了让path中可包含空格,参考http://www.cnblogs.com/qq78292959/p/3524095.html
code
另:传递的参数可能包含中文,但到bat中会乱码,全部咱们又写了一个转utf-8应用程序返回中文,但在bat中须要获得应用程序的结果,不是很好处理,请参考http://zhidao.baidu.com/link?url=q10bC75zSEavvxpJ3RGdwAzw5Y0rfDCpskI92yv4jJ4TUU9ujAZLXEoMWiovwuqrnhg391m2SGQ-OxkA3MY8C_,咱们的处理方式相同,只不过exe路径中包含变量,以下:htm
for /f "" %%i in ('"!toolPath!encode.exe" !name!') do (blog
set name=%%i
事件
)
utf-8