【问题标题】:How do I kick off an executable from a web page?如何从网页启动可执行文件?
【发布时间】:2013-12-02 01:40:57
【问题描述】:

我们已将 WinForms 应用程序 A 重写为 Web 应用程序。旧的 WinForms 应用与 WinForms 应用 B 集成,您可以使用一组变量从应用 A 启动它。

用户现在要求重新编写的网络应用程序具有相同的功能。我的第一个想法是让 WinForms 应用程序 B 创建我自己的 URL 协议 (foo://...),但似乎要做到这一点,您必须在 HKEY_CLASSES_ROOT 中创建密钥 - 这是由管理员用户完成的活动。但是,用户基本上是受限用户,WinForms 应用 B 实际上是一个 ClickOnce 应用。

我有什么选择?

【问题讨论】:

  • 应用 b 是否与 Web 应用与之通信的服务器通信?
  • 您可以创建管理员将安装在客户端计算机上的安装程序。毕竟这就是管理员的工作。
  • 当您说“集成”时,究竟是什么意思?之前是如何“整合”的?是命令行调用吗?还有什么?另外,这些应用程序在哪里?客户端?服务器端?
  • @HighCore 这毫无意义 - Web 应用程序不与桌面应用程序共享相同的文件系统,因此内存映射文件没有多大意义(除非通过网络共享,我猜?)。请分享您的这种方法的更多细节:)
  • @DanielA.White 不,它没有。 Web 应用 A 在云端,而应用 B 在本地服务器上。

标签: c# html winforms url url-protocol


【解决方案1】:

由于应用 A 现在位于云中,并且用户通过浏览器与其交互,因此它已被沙盒化,桌面应用可以做的许多事情都不再可用。

这是一项安全功能,除了编写浏览器插件以在浏览器上的 App a 和 App b 之间架桥之外,您无能为力。

【讨论】:

  • 具有适当权限的 java 小程序也可以工作。
  • @zespri - Java 在浏览器中作为插件运行,不是吗?
  • @zespri 也是 Silverlight 应用程序,但我们谈论的是 WEB 应用程序,没有任何插件或附加组件。顺便说一句,大多数浏览器都禁用了 java 的东西,因为它在安全性方面真的很糟糕。
  • @Oded,当然,你只是在谈论编写一个插件,我指出你不需要编写一个。
猜你喜欢
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-20
  • 1970-01-01
相关资源
最近更新 更多