繁体   English   中英

如何创建命令应用程序,例如为 vista 运行命令

[英]how to create command application like run command for vista

如何使用 C# 创建像 window 运行命令这样的应用程序。 当我插入任何命令(例如:ipconfig)时,此文本框会返回结果(例如:192.168.1.1)。

  1. 如何获取 windows 命令列表?
  2. 如何获得命令结果?
  3. 如何在机器上获取已安装的应用程序列表?

(1) 命令列表很可能来自在您的 %PATH% 中找到的任何可执行文件。 您可以通过在 %PATH% 指定的每个文件夹中查找 all.exe/.bat/other 可执行文件来找出您的列表。 您甚至可能不需要知道哪些应用程序可用,Process.Start 方法会为您找到它们。 (见下文)

(2) 您可以使用以下方式以编程方式运行命令行工具:

System.Diagnostics.Process.Start("notepad.exe"); // located using %PATH%

要捕获 output,您必须像这样重定向它:

System.Diagnostics.ProcessStartInfo psi =
    new System.Diagnostics.ProcessStartInfo(@"ipconfig");
psi.RedirectStandardOutput = true;
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;

System.Diagnostics.Process myProcess;
myProcess = System.Diagnostics.Process.Start(psi);
System.IO.StreamReader myOutput = myProcess.StandardOutput; // Capture output
myProcess.WaitForExit(2000);
if (myProcess.HasExited)
{
    string output = myOutput.ReadToEnd();
    Console.WriteLine(output);
}

(3) 可能与1相同的答案

使用向导创建 Windows Forms 应用程序。 绘制一个文本框和一个按钮。 将 Click 处理程序添加到获取文本框内容并启动进程的按钮。 使用过程class。 class 还具有StandardOutput属性,您可以从中读取 output,以便将其放入文本框中。

您可能会发现要使用许多命令提示符命令,您需要在前面键入CMD /C ,因为它们不是与命令解释器分开的程序。

至于发现命令列表,这通常是不可能的。 命令只是一个程序(或CMD命令解释器的一个功能)。 您可以在硬盘驱动器中搜索.exe文件,但其中许多文件不适合用作“命令”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM