解决方法
快速而肮脏的方法:
使用SetFocus将焦点设置为cmd窗口,然后使用SendInput将键击发送到cmd窗口.
您可以使用this P / Invoke定义从c#调用SendInput:
[DllImport("user32.dll",SetLastError=true)] static extern uint SendInput(uint nInputs,ref INPUT pInputs,int cbSize);
和this一个用于SetFocus
[DllImport("user32.dll")] static extern IntPtr SetFocus(IntPtr hWnd);
为了获得SetFocus所需的窗口句柄,您可以使用FindWindow或者使用Process.GetProcessesByName获取适当的cmd进程,然后使用MainWindowHandle属性.