Быстрый и грязный метод:
используйте SetFocus , чтобы установить фокус на окне cmd, затем используйте SendInput , чтобы отправить нажатия клавиш в окне cmd.
Вы можете использовать это определение P / Invoke для вызова SendInput из c #:
[DllImport("user32.dll", SetLastError=true)]
static extern uint SendInput(uint nInputs, ref INPUT pInputs, int cbSize);
и этого для SetFocus
[DllImport("user32.dll")]
static extern IntPtr SetFocus(IntPtr hWnd);
Чтобы получить дескриптор окна, требуемый для SetFocus, вы можете использовать FindWindow или, возможно, получить соответствующий процесс cmd, используя Process.GetProcessesByName
, а затем использовать свойство MainWindowHandle
.