我知道您可以通过浏览器使用以下代码行启动应用程序,但它会将应用程序显示为新窗口。我在寻找的是如何在浏览器窗口中显示应用程序?它不一定是记事本。任何应用程序都可以正常工作,因为我现在只是在进行概念验证。我可能最终会编写一个小的c#应用程序来完成我需要的工作。任何信息都有帮助。
这是我的代码:
<a href="c:\windows\Notepad.exe"
type="application/octet-stream">Launch Notepad</a>
编辑:
让我们说它只能在浏览器之外启动有没有办法将信息传递给应用程序?任何信息都有帮助。感谢。
答案 0 :(得分:3)
你不能 - 至少不能使用任意应用程序。应用程序必须专门编写为Web浏览器插件,以使网页能够在浏览器中显示应用程序的UI。
传统上,这是通过NPAPI或ActiveX完成的。 ActiveX仅限IE,NPAPI支持正在从Chrome中删除。
简而言之,这不是你想要走的道路。
浏览器是为了显示网页而构建的,因此如果您想在浏览器中显示UI,请使用网络技术进行编写。
如果您有某种特殊需求,用户将在其计算机上安装您的软件,我过去成功使用的方法是让该应用程序在特定的非HTTP服务器上运行标准端口。您的Web应用程序(通常通过您的Web服务器访问)可以向本地软件发出CORS AJAX请求。 (IE,http:// localhost:12345 / privileged-action)。
如果您只想在自己的窗口中启动应用,则应register a custom protocol handler。然后,您可以在调用应用程序并传递参数的网页中添加常规链接。
<a href="myapp:foobar">Open MyApp</a>
如果您将应用注册为myapp
协议的处理程序,则会以URL作为参数运行它。
C:\path\to\app.exe "myapp:foobar"