如何从浏览器启动应用程序?
是否可以从浏览器启动应用程序? 我并不是指从浏览器打开文件(如使用Adobe Reader打开PDF),而是打开安装在用户计算机上的应用程序的新(空白)实例。
假设情况:用户浏览列出可通过RDPpipe理的计算机的网站。 他点击链接到192.168.1.10,该链接打开Microsoft RDP客户端(mstsc.exe)与该IP地址已经填写。
我正在严格谈论Windows的世界。
这个东西甚至可以在ActiveX和IE之外实现吗?
在IE中使用ActiveX进行尝试是否明智?
你真的不能真正“启动一个应用程序”。 您可以如您所示要求用户打开文档(即PDF),Windows将尝试使用该文件types的默认应用程序。 许多应用程序都有办法做到这一点。
例如,您可以将RDP连接另存为.rdp文件。 把你的网站链接到这样的事情应该允许用户直接启动到RDP会话:
<a href="MyServer1.rdp">Server 1</a>
您想要创build一个asynchronous可插入协议处理程序 。
这是一个注册应用程序协议的指南 。
我们使用sonicwall vpn。 它启动一个java小程序,启动所有凭据设置的mstc。 如果没有Java applet或者activex插件,你真的无法做到这一点。
微软使用这种技术本身在他们的小型企业服务器上进入networking。 我不会说这是一个可怕的想法,只要平台独立并不重要。
我使用本地Web服务器和PHP实现了同样的function。 我使用了一个包含shell_exec
的脚本来在本地启动一个应用程序。
或者,你可以做这样的事情:
<a href="file://C:/Windows/notepad.exe">Notepad</a>
您可以使用SilverLight从浏览器启动应用程序(这只适用于IE和Firefox,较新版本的Chrome不支持此function)
示例代码在这里
一些应用程序通过协议启动。 像itunes:“itms://”链接。 我不知道你怎么可以注册与Windows。
您可以使用以下内容:
<a href="c:\windows\Notepad.exe" type="application/octet-stream">Launch Notepad</a>
从我记得使用file://被Chrome和Firefox阻止。