簡體   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