簡體   English   中英

如何獲得命令控制台在Windows Forms應用程序中寫行? (Visual C#)

[英]How Do I Get The Command Console To Write Lines In Windows Forms Application? (Visual c#)

基本上,我希望用戶按下按鈕,然后控制台將為用戶編寫所有適當的行。

這是我編寫的代碼:

    private void button6_Click(object sender, EventArgs e)
    {
        Process Cmd = new Process();
        Cmd.StartInfo.FileName = @"C:\windows\system32\cmd.exe";
        Cmd.Start();
        StreamWriter sw = new StreamWriter(@"C:\windows\system32\cmd.exe");
        {
            sw.WriteLine = ("hello");
        }
    }

我嘗試了StreamWriter,但似乎沒有合作。

你可以做這樣的事情

   Process Cmd = new Process();
            Cmd.StartInfo.FileName = @"makecert.exe"; // enter the correct path
            cmd.StartInfo.Argument = "" // pass your aarguemnt
            Cmd.Start();

無法完成您想做的事情,因為您需要重定向StandardInput才能將命令發送到cmd,並且執行此操作后,cmd窗口將關閉。 您仍然沒有解釋要歸檔的內容,但是我只能想到兩個選擇:

  • 使用要執行的所有命令創建一個批處理文件,並將其作為參數傳遞給Process。
  • 重定向StandardInput和StandardOutput。 這樣,您應該注意顯示所有cmd消息。 這有點混亂,可能會導致您陷入僵局。

編輯

因此,最后,您只需要運行帶有參數的控制台應用程序即可。 這是使用makecert的示例:

Process ppp = new Process();
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = @"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\makecert.exe";
psi.Arguments = "-n 'CN=TempCA' -r -sv TempCA.pvk TempCA.cer";

ppp.StartInfo = psi;
ppp.Start();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM