【问题标题】:how to open command prompt using asp.net如何使用asp.net打开命令提示符
【发布时间】:2011-07-29 16:53:32
【问题描述】:

请尝试帮助我.. 如何使用asp.net3.5、C#.net在命令提示符中打开和编写命令...

如果我在我的 UI 中单击一个按钮,它应该会打开命令提示符,我想在那里执行一些命令...

谢谢你..

【问题讨论】:

  • 在客户端还是服务器端?

标签: c# asp.net command command-prompt


【解决方案1】:

你说

如果我在我的 UI 中单击一个按钮

你的意思是在浏览器的客户端.. 抱歉,任何 JavaScript 代码都无法做到这一点。您无法使用在浏览器中运行的任何代码在客户端系统上启动进程。应该安装一些东西作为桌面应用程序来做到这一点。

【讨论】:

  • 我现在应该做什么......客户端PC也是windows......所以如果从我的网络应用程序中单击我的按钮,我想打开命令提示符请给我选项我被绞死在这里......
  • 命令提示符应该在客户端还是服务器上执行?
  • 一个可能的解决方案是创建一个简单的桌面应用程序或 Windows 服务并要求用户将其安装在他的客户端系统上。如果您需要与服务器通信,那么您可以使用HttpWebRequest 和@ 987654322@进行交流的班级。
【解决方案2】:

尝试使用这段代码添加你需要的命名空间

using System.Diagnostics;

 var processStartInfo = new ProcessStartInfo
                                   {
                                       Arguments = "ping google.com",
                                       FileName = "cmd"
                                   };

        Process process = Process.Start(processStartInfo);

【讨论】:

    【解决方案3】:

    听起来您想从客户端 PC 上的浏览​​器打开命令提示符。

    为此,您需要:

    • 使用 ActiveX 控件,这需要用户批准安装 ActiveX 控件。
    • 使用不太可能可用的 WScript.Shell 对象(出于安全原因),除非您的站点位于“非常受信任”的区域中。

    即您不能指望普通用户允许这种情况发生 - 这只会在您自己的 PC 上真正有用。

    如果没问题,那么您可以在此处找到使用 WScript.Shell 对象从 JavaScript 运行应用程序的示例(这是两个选项中最简单的一个)。

    【讨论】:

    • +1 不错的答案.. 你能提供一个关于如何通过 ActiveX 控件执行此操作的链接.. 我真的很好奇。
    • @Shekhar 请参阅Create ActiveX in .NET Step by Step (Codeplex),了解如何在 C# 中创建 ActiveX 控件 - 然后您可以使用 .Net Process 类。这么简单的事情要麻烦得多。