RIDEV_INPUTSINK 플래그를 사용하여 원시 입력에 대해 자체 등록하는 메시지 전용 창 (ATL :: CWindowImpl)이 있습니다. 즉, 창이 전경 창인지 여부에 관계없이 모든 입력을받습니다. 이 창의 인스턴스가 하나 뿐인 경우에 효과적입니다.여러 개의 Raw 입력 창 싱크
그러나 내 창 인스턴스가 두 개 이상 생성되면 하나만 WM_INPUT 메시지를 수신합니다 (현재 두 개를 만들고 두 번째 메시지 만 만들어집니다).
RegisterRawInputDevices (RIDEV_INPUTSINK | RIDEV_NOLEGACY 사용)는 두 창의 생성 중에 성공합니다. 또한 원시 입력을 수신하지 않는 윈도우는 여전히 다른 메시지를 수신하므로 윈도우 자체에는 문제가 없습니다. ...
관련성이있는 경우 VC11 베타를 사용하며 창을 만들고 메시지를 발송합니다. 다른 스레드 (std :: thread 사용).
이것은 API 제한 사항입니까? 즉 프로세스 당 입력 싱크가 1 개로 제한되어 있습니까? 또는이 방법을 사용할 수있는 방법이 있습니까?
미리 감사드립니다.
편집 :
지금 내 현재 해결 방법은 단지 하나 개의 창을 가지고 있고 그것이 다른 창에 입력 메시지를 전달하는, 그러나이 엉망이고, 경우에 작동하지 않습니다 I (내가 실제 입력을 원할 수있는 플러그인을 로딩하는 내 앱이있는 곳에서, 정말로 그렇게하지 않으면 내 앱에 등록 할 필요가 없다.).
이것은 최악의 사태입니다. –
IIRC를 처리하는 경우 권장되는 방법은 하나의 창에서 원시 입력을 수신 한 다음 다른 관심있는 창에 이벤트를 생성하는 것입니다. 즉, 그것은 당신이 원하는 것을하지 않을 것입니다 : – JimR
[문서]에 따라 큰 질문, (http://msdn.microsoft.com/en-us/library/windows/desktop/ms645565 (v = vs.85) .aspx) :'hwndTarget'을 올바르게 설정 했습니까? – MrGomez