如何使用C#创建类似窗口运行命令的应用程序。当我插入任何命令(例如:ipconfig)时,此返回结果(例如:192.168.1.1)在文本框上。
答案 0 :(得分:2)
(1)命令列表很可能来自%PATH%中的任何可执行文件。您可以通过查找%PATH%指定的每个文件夹中的所有.exe / .bat /其他可执行文件来确定您的列表。您甚至可能不需要知道哪些应用程序可用,Process.Start方法将为您找到它们。 (见下文)
(2)您可以使用以下命令以编程方式运行命令行工具:
System.Diagnostics.Process.Start("notepad.exe"); // located using %PATH%
要捕获输出,您必须像这样重定向:
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
的答案相同答案 1 :(得分:1)
使用向导创建Windows窗体应用程序。绘制文本框和按钮。将按钮处理程序添加到按钮,该按钮将获取文本框的内容并启动进程。使用Process课程。该类还有一个StandardOutput
属性,您可以读取输出,以便将其放入文本框中。
您可能会发现要使用许多命令提示符命令,您需要在前面键入CMD /C
,因为它们不是命令解释程序的单独程序。
至于发现命令列表,这通常是不可能的。命令只是一个程序(或CMD
命令解释器的一个特性)。您可以在硬盘中搜索.exe
个文件,但其中许多文件不适合作为“命令”。