比如Process.start("cmd");
Thread.sleep(2000);
SendKeys.SendWait("dir");
SendKeys.SendWait("{enter}");
CMD却不识别,只接收了回车000。
如果一个字母一个字母则可以。我记得以前可以用SendKeys传送字符串的。不用重定向输入,我打上VS2005SP1+WM6SDK,又不能这样做了。该怎么做啊?

解决方案 »

  1.   

    或者你代码里加上SetForgeGroundWindow(hwnd) 在发送看看  
      

  2.   

    CMD里面发送字符。。最好的办法是管道啊Process cmdProcess=Process.Start("xxx");
    然后用PROCESS的OUTSTREAM好像是这个操作
      

  3.   

    Process myProcess = new Process;
    myProcess.StartInfo.FileName = "cmd.exe";
    myProcess.Start();
    myProcess.StandardInput.WriteLine("dir")
    string rst = myProcess.StandardOutput.ReadToEnd()      // 结果输出
    myProcess.StandardInput.WriteLine("exit");
    myProcess.Close();为什么不用这种方式呢?