문제

나는 만들려고 노력하고있다 외부를 클릭하면 닫히는 창입니다, 그리고 현재 나는 WNDPROC 기능을 처리함으로써 그렇게하는 것을 찾고 있습니다.

내가 지금까지 얻는 메시지 중 어느 것도 유용한 것처럼 보이지만 전혀 이해하지 못하는 몇 가지가 있습니다. 코드 0x0118, 0xc123, 0xc128 및 0xc12e는 무엇을 나타내나요?

도움이 되었습니까?

해결책

0x0118 : Caret Blinks에 사용되는 WM_SYSTIMER (문서화되지 않은)

다른 3 개는 응용 프로그램 정의 메시지 (0xc000 ~ 0xffff 범위의 모든 것)이어야하므로 어디에서나 찾을 수 없습니다.

다른 팁

쉬운 방법은 마우스를 포착하는 것입니다. 마우스를 캡처하면 창 밖에서 한 번의 클릭 이벤트가 발생하면 캡처가 꺼집니다.

더 어려운 방법은 저수준 마우스 윈도우 훅을 설정하는 것입니다. 글로벌 후크를하려면 후크 코드를 관리되지 않는 DLL에 넣어야합니다.

진짜 쉬운 방법은 비활성화 될 때 양식을 닫는 것입니다.

편집하다:

죄송합니다. 방금 메시지 ID에 대한 귀하의 직접적인 질문에 대답하지 않았다는 것을 깨달았습니다. Message 0x118은 Winuser.h에서 정의되지 않으므로 문서화되지 않은 메시지 ID라고 가정합니다. 0xc000에서 0xffff 범위의 메시지 ID는 응용 프로그램 정의 메시지입니다. 이 ID는 반환됩니다 RegisterWindowMessage.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top