0
winforms 응용 프로그램에 반복적으로 보낸 Windows 메시지를 원합니다. 이제는 선택한 메시지 (WM _KEYDOWN, WM _LBUTTONDOWN 등)를 목록에 저장하는 "IMessageFilter"클래스를 구현했습니다.Winforms에서 Windows 메시지 반복
"일시 중지/중단"키에서 메시지 목록을 복사하고 원래 목록을 지우고 메시지를 다시 보냅니다.
내 테스트 프로젝트에는 하나의 메뉴 항목, 탭 하나 및 richtextbox가있는 유일한 양식입니다. 컨트롤의 hWnd는 메시지를 저장하고 반복하는 동안 동일합니다.
모두 정상적으로 작동하지만 메시지를 보내지 못했습니다. /.
샘플 코드 : 그것은 너무 쉽게 보이지만, 문제가 될 수있는 곳 모른다
[System.Runtime.InteropServices.DllImport("user32")]
public static extern int SendMessage(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam);
// ... in some method ...
SendMessage(msg.HWnd, msg.Msg, msg.WParam, msg.LParam);
.
MessageFilter는 항상 "false"를 반환하므로 실제로 필터링 된 메시지가 없습니다. 하지만 SendMessage 대신 PostMessage를 사용해보십시오. 감사합니다. – TcKs
PostMessage가 올바른 팁이었습니다. 자, 이제 좋아 보인다. 감사! – TcKs