通过http URL调用Windows应用程序的方法?

时间:2011-04-11 18:01:03

标签: windows wcf http

我有一个Windows桌面应用程序,我希望用户能够通过URL调用。主要思想是,他们可以通过某些命令行参数启动已安装的应用程序,例如,通过电子邮件中的链接。此外,最佳实施将处理用户已安装应用程序的情况,以便它们落入下载链接。 (可能下载位置将是用户网络上的计算机,不一定是网址)。

冒这个X和Y问题的风险是我所考虑的:

要调用已安装的应用程序,我已经考虑过实现一个自定义协议处理程序(msdn article),但这会给他们一个像 myapp://之类的URL?blar = 123 < / strong>即可。如果他们还没有安装该应用程序,则此URL将不起作用,并且不会将其重定向以下载该应用程序。

我考虑过在后台运行的WCF REST侦听器服务,因此这些链接可以使用http并且像http://some-network-machine/whatever?blar=123那样表达,如果安装了应用程序,它会捕获调用并启动应用程序,如果没有安装,呼叫将落到“some-network-machine”,这将提供下载页面。我只是学习WCF,所以我不知道这是否可行(处理针对不同机器的调用)?

总结一下:我希望用户能够通过URL调用我的应用程序,并且如果尚未安装该应用程序,则将它们定向到应用程序的下载页面。任何想法,专业知识或类似经历都表示赞赏。

2 个答案:

答案 0 :(得分:2)

你可以做到Spotify如何做到这一点。

(Spotify是目前主要在欧洲提供的免费音乐流媒体服务:http://www.spotify.com如果你没有听说过它。它有很多社交/分享功能)

例如,您可以复制和共享HTTP链接,例如

http://open.spotify.com/track/6DHrdGLyfF01vz17Bl2O7O

然后尝试打开spotify:track:6DHrdGLyfF01vz17Bl2O7O链接。如果您没有安装该应用程序,它将失败,您可以使用该页面上的信息来安装该应用程序。

答案 1 :(得分:0)

考虑到,您的Web应用程序知道应用程序启动exe文件位置, 您只能通过javascript在客户端执行exe。

试试这个: - http://forums.asp.net/t/1643217.aspx/1?How+to+open+exe+program+which+installed+on+client+machine+asp+net+C+

http://forums.asp.net/t/1124574.aspx