我對編碼相當陌生,但已經構建了一些小東西。我在最後一個項目中想到的一件事是如何運行2個通常從控制檯運行的簡單命令,而是從表單應用程序中運行。簡單地說,窗體有2個按鈕,單擊一個會導致運行ipconfig
,而另一個則會導致ipconfig /all
。然後它將來自命令的IP信息發佈到我創建的另一個表單中作爲消息框。這很重要,因爲我正在嘗試做類似的事情,現在沒有任何工作。如何從C#Windows窗體內運行命令行代碼?
我有一個表格有一個用戶名和密碼點。在提交,我希望它本質上運行以下命令:
NET USE F: \\ALPHA\CLIENTAPPS /user:domain\%username% %password% /persistent:no
NET USE O: \\ALPHA\USERS /user:domain\%username% %password% /persistent:no
NET USE S: \\ALPHA\COMPANY /user:domain\%username% %password% /persistent:no
凡%username%
和%password%
從形式和域捕獲將成爲我們的實際域。
使用類似的方法來處理上述ipconfig程序,這是我想出的。然而,當我點擊提交按鈕,沒有任何反應,沒有錯誤,也沒有實際創建網絡共享:
private void btnSubmit_Click(object sender, EventArgs e)
{
string un = txtUsername.Text;
string pw = txtPassword.Text;
System.Diagnostics.ProcessStartInfo PR = new System.Diagnostics.ProcessStartInfo("cmd", @" /c net use W: \\\\ALPHA\\CLIENTAPPS /user:acsdish\\" + un + " " + pw + "/persistent:no");
PR.RedirectStandardOutput = true;
PR.UseShellExecute = false;
PR.CreateNoWindow = true;
System.Diagnostics.Process StartPR = new System.Diagnostics.Process();
StartPR.StartInfo = PR;
StartPR.Start();
}
缺少什麼我在這裏,還是有更好的辦法?謝謝。
邁克
這可能有助於:http://stackoverflow.com/questions/4807097/start-a-command-line-including-arguments-from-c-sharp – Almo 2012-08-09 21:41:09