she*_*ike 1 c# command-line winforms
我对编码很新,但已经构建了一些小东西.我在上一个项目中想到的一件事是如何运行通常从控制台运行的2个简单命令,而是从表单应用程序中运行.简单地说,表单有2个按钮,单击一个导致ipconfig运行,另一个ipconfig /all.然后它将来自命令的ip信息发布到我创建的另一个表单中作为消息框.这很重要,因为我正在尝试做类似的事情,现在没有任何工作.
我有一个表格,其中包含用户名和密码点.提交时,我希望它基本上运行以下内容:
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
Run Code Online (Sandbox Code Playgroud)
凡%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();
}
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么,还是有更好的方法?谢谢.
麦克风
System.Diagnostics.ProcessStartInfo PR = new System.Diagnostics.ProcessStartInfo("cmd", @" /c net use W: \\\\ALPHA\\CLIENTAPPS /user:acsdish\\" + un + " " + pw + "/persistent:no");
Run Code Online (Sandbox Code Playgroud)
尝试删除"@"或删除"\"字符的转义
信息在这里(逐字字符串文字)