0

我开发了一个 Windows 应用程序。该应用程序基本上是一个控制台,可帮助用户启动多个第三部分应用程序,例如 MS word.exe、MSExcel.exe、Windows 计算器等。该应用程序目前作为 Windows 应用程序运行良好。一般通过 Process.Start() 方法启动应用程序。

现在,我计划发布我的应用程序的基于 Web 的版本。我的想法是,如果用户可以通过网络访问我的应用程序,他/她可以运行 MSword、Excel 和所有通过我的应用程序可用的应用程序。

请指导我如何实现这一目标。谢谢..!

4

2 回答 2

1

您的 Process.start() 函数试图在服务器上而不是在客户端上打开 MS Word。如果服务器和客户端在同一台机器上,它将打开 word 文件,即文档在您托管 Web 应用程序的同一台机器上。

在客户端打开 word.exe 等的情况下,由于浏览器安全限制,您不能。您可以做一件事,将链接指向可以在客户端下载的某个 word 或 excel 文件,然后客户端可以使用它。希望能帮助到你

于 2012-10-17T15:26:32.443 回答
0

像这样的事情在 ASP.NET 中并不容易做到。使用 Process.Start() 只是在 ASP.NET Web 服务器上运行应用程序,而不是在客户端上运行。由于浏览器的限制,能够在客户端执行应用程序存在安全隐患。

我建议的一种解决方案是使用 SilverLight。使用 SilverLight,您可以使用以下代码在客户端上运行应用程序:

dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");
cmd.Run("calc.exe", 1, true);

请注意,您必须运行 Silverlight 4.0 或更高版本才能运行此代码。

于 2013-04-16T15:24:59.763 回答