2011-05-13 149 views
6

我有一個運行基於web的軟件的命令提示符窗口。我想用C#編寫一個程序,將命令注入運行的命令提示符窗口。通過向命令窗口發送擊鍵來注入命令?

任何指針?

謝謝,保羅。

+2

你是什麼意思下的「注入命令」?你打算修改正在運行的應用程序還是僅僅發送輸入到控制檯? – 2011-05-13 09:22:59

+0

只需將輸入發送到控制檯。 – Paul 2011-05-13 09:33:42

回答

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屬性。

+0

真棒,感謝您的幫助,生病開始挖:-) – Paul 2011-05-13 09:26:47