2012-04-06 2 views
0

findwindow와 sendmessage를 사용해 보았지만 sendmessage를 사용하면 GUI 용 메시지 만 보낼 수 있습니다. 도움!!!!!C++에서 cmd.exe에 일련의 문자를 보내려면 어떻게해야합니까?

+0

당신이 입력하고 있다고 생각하는 창을 만들고 싶다면,'WM_KEYDOWN'과'WM_KEYUP'을 가진'SendMessage'가 길일 것입니다. cmd가 번역을하도록하십시오. 에뮬레이션 입력은 하나의 특정 창에 대해 극단적 인 것으로 보입니다. 100 % 확신하지 못하면 내가 성취하고자하는 것을 정확히 얻는다. – chris

+0

최상의 답을 얻으려면 더 많은 정보를 제공해야합니다. 직접 콘솔 앱을 실행할 수 있습니까? 너 왜 이러는거야? 어떤 앱을 자동화하려고합니까? – tenfour

+0

우리는 궁극적 인 목적이 무엇인지 알면 창문을 어지럽히는 것보다 더 나은 방법을 제시 할 수 있습니다. – chris

답변

0

keybd_event 기능을 사용해보십시오. 매우 친숙하지 않으므로 복잡한 작업에 사용하려면 VBScript/.NET에 대해 잘 알려진 SendKey 명령을 에뮬레이트하는 CodeProject의 this library을 살펴보십시오.

+2

"참고 :이 기능은 대신 사용되었습니다. 대신 SendInput을 사용하십시오." 링크에서 바로. – chris

0

입력/출력 핸들이 지정된 STARTUPINFO 구조를 사용하는 CreateProcess 함수를 사용하여 명령 줄 프로세스를 시작하는 가장 좋은 방법이라고 생각합니다.

cmd 프로세스가 이미 시작되면 SendInput을 사용하십시오. 그러나 IMHO는 이런 식으로 신뢰성이 떨어집니다.

관련 문제