2014-05-21 5 views
1

안녕하세요, 내 응용 프로그램이 백그라운드에서 실행중인 경우에도 키보드에서 키를 읽는 간단한 프로그램을 만들려고합니다.백그라운드 응용 프로그램에서 문자 읽기

상황
나는 게임에서 날 도와 타이머를 확인합니다. 이미 타이머가있는 프로그램이 있는데 문제는 게임 창을 내 앱 창으로 전환하지 않고 타이머를 시작할 수 없다는 것입니다. 그래서 게임 키보드를 구성하여 F11, F12 키를 놓았습니다. 이제 게임에서이 키는 아무 것도하지 않습니다.

문제
나는를 keyDown 이벤트에 대한 리스너와 F11에 대한 조건을 포함하는 윈도우의 형태를 만들었습니다. 그러나 다른 창 (예 : 게임 창)을 트리거 할 때 내 애플리케이션에 더 이상 키보드가 들리지 않습니다. 백그라운드에서 실행됩니다.

질문
는 어떻게하면 활성 창 아니에요 경우에도 키보드를 듣는 응용 프로그램을 구축 할 수 있습니다?

답변

4

SetWindowHookEx API 호출을 사용하여 global, low-level keyboard hook을 설치해야합니다. WH_KEYBOARD_LL 후크를 사용하면 응용 프로그램이 활성화되어 있지 않아도 항상 키보드 이벤트를 가로 채기 위해 응용 프로그램을 설정할 수 있습니다.

This post on MSDN은 C#에서 원하는 것에 가까운 것을 달성하는 방법의 예를 보여줍니다.

관련 문제