网页如何调用本地exe程序并传递参数?

网页如何调用本地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程序并传递参数?的详细内容,更多请关注其它相关文章!