2011-09-02 2 views
1

Windows (XP)에서 누른 키에 대한 이벤트를 가져올 수 있습니까? 스레드가 있는데 잠시 동안 (1) -loop이 표시되고 일부 데이터가 인쇄됩니다. 그것은 내가 왜 WaitForMultipleObjects (2, events, FALSE, INFINITE)를 사용하는지 동기화해야합니다. events는 핸들 배열이며 2 개의 핸들을 포함합니다. 그 중 하나는 서버가 새 메시지를 받았고 다른 메시지가 사용자가 키 (1-7)를 눌렀다 고 신호해야한다는 신호를 보내는 다른 스레드의 이벤트입니다. 이 두 번째 핸들/이벤트를 얻으려면 어떻게해야합니까?Windows의 키 이벤트

답변

0

WM_KEYDOWN 또는 WM_KEYUP을 수신하려면 메시지 루프를 구현해야합니다. 그런 다음 적절한 방법을 호출해야합니다.

0

프로그램에서 키보드, 마우스 등과 같이 프로그램에 도착하는 이벤트를 처리하는 스레드가 있어야합니다.이 스레드에서는 관심있는 키를 누르거나 눌렀던 키보드 이벤트가 도착했는지 감지 할 수 있습니다. 그렇다면 다른 스레드에 신호를 보냅니다.

1

당신은 MsgWaitForMultipleObjects을 찾고 있습니다. 이렇게하면 WM_KEYDOWN과 같은 메시지도 검색 할 수 있습니다. 키 이벤트에는 HANDLE이 필요하지 않습니다.