2010-08-18 2 views
2

저는 콘솔 응용 프로그램에 그래픽 인터페이스를 추가하기 위해 delphi를 사용하고 있습니다. 콘솔 응용 프로그램에서 입력을 요청할 때 문제가 발생합니다. 일반적으로 입력 내용을 입력하고 Enter 키를 눌러 문자열을 받아 들일 수 있지만이 방법은 알 수 없습니다.에뮬레이트 된 콘솔 응용 프로그램에 반환 키 보내기

저는이 라이브러리를 콘솔 응용 프로그램의 "래퍼"로 사용하고 있습니다. 입력 및 출력 스트림에 파이프를 사용합니다. http://koders.com/delphi/fidDB05C6361540F62D532FC7C960D4111CE3AAEDB3.aspx?s=proxy

필자는 WriteToConsoleApp (# 04); Control-D 인 EOT를 보냅니다. 이것은 정상적으로 작동하지만이 경우 아무 것도하지 않습니다. WriteToConsoleApp (# 13)도 시도했습니다. WriteToConsoleApp (# 13 # 10);하지만 이러한 솔루션은 작동하지 않습니다.

조언이 있으면 감사하게 생각합니다.

+0

참조 된 라이브러리가 실제로 2007 – Nowayz

+0

를 통해 델파이 버전에서 작동하지 않고는 수치입니다. – zz1433

답변

1

SendMessage 또는 PostMessage 함수를 사용하여 문자열/키를 콘솔 응용 프로그램에 보낼 수 있습니다. 예를 들면 다음과 같습니다. 그것은 정말 좋은 라이브러리이기 때문에

SendMessage(WindowHandle, WM_CHAR, Ord('A'), 0);//sends 'A' to the window 

또는

PostMessage(WindowHandle, WM_KEYDOWN, VK_RETURN, 0);//sends Return to the window 
+0

콘솔 프로그램은'CREATE_NO_WINDOW' 플래그로 생성되었습니다. 그 메시지를 보낼 곳이 없습니다. –

+0

아마도 입력 스트림이 숨겨진 창에 표시되도록 변경할 수 있습니다. – Nowayz

관련 문제