大家好我试图通过简单的textbox.user来创建一个在用户计算机上打开任何exe的扩展名,将写入他想要打开的exe的路径,我需要将该路径转到批处理文件并运行它是可能的那怎么样? 我当前的批处理文件只打开一个路径但我希望它从用户获取路径并在路径位置打开该脚本
答案 0 :(得分:1)
好吧,Native Messaging不允许您传递命令行参数。它只允许使用Native Messaging protocol(长度+ JSON-enconded消息)进行通信。
因此,您需要创建一个能够读取传入消息,解码并执行所需命令的本机主机,即:
// Extension side
chrome.runtime.sendNativeMessage('native.app.id.here', { command: "calc.exe" });
然后该应用将通过STDIN接收消息的长度+ {"command":"calc.exe"}
实际上编写将使用批处理脚本解码该消息的代码是一个可怕的想法,但在principe中可行。您应该用支持JSON操作的语言编写实际程序来处理这个问题。另请参阅this question。