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










