网页如何调用本地exe程序并传递参数?
网页如何调用本地exe?
通过注册表自定义协议,网页可以调用本地exe程序。
注册表添加
将以下内容保存为.reg文件后双击即可自动注册到注册表。
[HKEY_CLASSES_ROOTCallBSEXEPrint] @="URL: CallBSEXEPrint Protocol Handler" "URL Protocol"="" [HKEY_CLASSES_ROOTCallBSEXEPrintDefaultIcon] @="E:localExegy_print.exe" [HKEY_CLASSES_ROOTCallBSEXEPrintShell] [HKEY_CLASSES_ROOTCallBSEXEPrintShellOpen] [HKEY_CLASSES_ROOTCallBSEXEPrintShellOpenCommand] @=""E:localExegy_print.exe" %1""
测试网页调用
<a href="CallBSEXEPrint://36">调用exe,并传参</a> <a href="CallBSEXEPrint://">调用exe,不传参</a>
问题与解决
原问题中传递的参数出现路径错误。这是因为注册表中的Command字段只能传递单个字符串参数。
为了传递文件路径参数,需要先将该路径转换为URI编码格式。例如,将E:localExe.xlt转换为E%3A%5ClocalExe%5C36.xlt。然后在Command字段中使用以下格式:
@=""E:localExegy_print.exe" \"%1""
其中\"符号转义%字符,以避免被解释为格式字符串的一部分。
以上就是网页如何调用本地exe程序并传递参数?的详细内容,更多请关注其它相关文章!