2014-03-12 4 views
0

SDL2 사용과 관련하여 2 가지 질문이 있습니다.키 스트로크 캡처에 SDL2 사용

  1. 내 C++ 응용 프로그램에서 모든 키보드 입력을 캡처하고 싶습니다. 응용 프로그램은 백그라운드에서 실행되며 모든 입력을 캡처합니다 COM DLL입니다. 그래서이 응용 프로그램은 창을 가지고 있지 않습니다.이 경우 키보드 입력을 포착 할 수 있습니까? 그렇다면 어떻게?

SDL 창에 대한 예제를 본 다음 키보드 입력을 캡처합니다. 그러나 나는 그것을 원하지 않는다. 내가 원하는 것은 내 앱이 모든 키보드 입력을 자체적으로 캡처 할 수 있도록하는 것입니다.

  1. MFC를 사용하여 내 자신의 창을 만들면 해당 창을 SDL2에 첨부하고 내 창에 포커스가있을 때 모든 키보드 입력을 캡처 할 수 있습니까? 다시 SDL 창을 만들고 싶지 않습니다.

답변

0

이 코드는 GetAsyncKeyState를 사용하여 간단하고 빠르며, 이 코드는 사용법을 보여줍니다. 여기

if(GetAsyncKeyState('Q')){//if Q key has been clicked 
    //Do something 
} 

하고이 경우에는 키보드 입력을 캡처 할 수 있으며, 모든 키 코드 http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx

+0

Windows 함수 호출을 사용하려고하지 않습니다. SDL을이 용도로 사용하여 코드 조각이 멀티 플랫폼과 호환되도록합니다. –

+0

http://www.libsdl.org/release/SDL-1.2.15/docs/html/sdlgetkeystate.html –

+0

체크 아웃이 또한 "SDL_CreateWindow"할 경우에만 작동합니다. 즉, SDL 윈도우가 열립니다. 나는 싫어. –

0

그래서이 응용 프로그램은 윈도우가없는 목록입니다?

SDL을 사용하지 않습니다.

MFC를 사용하여 내 자신의 창을 만들면 해당 창을 SDL2에 첨부하고 내 창에 포커스가있을 때 모든 키보드 입력을 캡처 할 수 있습니까?

sounds 너는 SDL_CreateWindowFrom()과 같은 행운을 누릴 수 있습니다.

0

SDL_WINDOW_HIDDEN 플래그가있는 창을 만들 수 있습니다. 그 방법은 내가 당신이 그 팝업 입력없이 sdl 기능을 입력 얻을 수 있다고 가정합니다.

이것이 원하는지 확실하지 않지만 도움이되기를 바랍니다.