我有一个命令提示符窗口,它运行基于Web的软件。我想在C#中创建一个程序,将命令注入到运行命令提示符窗口。
任何指针?
谢谢,保罗。
答案 0 :(得分:8)
快速而肮脏的方法:
使用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
属性。