2011-05-13 2 views
6

웹 기반 소프트웨어를 실행하는 명령 프롬프트 창이 있습니다. C#에서 실행중인 명령 프롬프트 창에 명령을 주입하는 프로그램을 만들고 싶습니다.명령 창에 키 입력을 보내 명령을 주입합니까?

모든 포인터?

감사합니다. Paul.

+2

"주사 명령"이란 무엇입니까? 실행중인 앱을 수정 하시겠습니까, 아니면 콘솔에 입력을 보내시겠습니까? –

+0

콘솔에 입력을 보냅니다. – Paul

답변

8

신속하고 더러운 방법 :

사용 SetFocus는 cmd를 창에 키 입력을 보낼 SendInput를 사용하여 다음, cmd를 창에 포커스를 설정합니다. , SetFocus 함수

[DllImport("user32.dll")] 
static extern IntPtr SetFocus(IntPtr hWnd); 

에 대한

[DllImport("user32.dll", SetLastError=true)] 
static extern uint SendInput(uint nInputs, ref INPUT pInputs, int cbSize); 

this 하나를 당신이 SetFocus 함수에 필요한 창 핸들을 얻기 위해 :

당신은 C#을에서 SendInput을 호출 할 정의를 호출/this P를 사용할 수 있습니다 FindWindow을 사용하거나 Process.GetProcessesByName을 사용하여 적절한 cmd 프로세스를 얻은 다음 MainWindowHandle 속성을 사용할 수 있습니다.

+0

끝내 주셔서 감사합니다 .--) – Paul