Я использую Windows Hooks в своем приложении Win32, я нашел ON_REGISTERED_MESSAGE в приложении MFC, которое используется для сообщений с сообщениями с сообщением, но как я могу использовать этот метод в Win32 без классов MFC?ON_REGISTERED_MESSAGE эквивалент Win32
1
A
ответ
1
Вы используете RegisterWindowMessage() для получения идентификатора сообщения. Затем вы используете вызовы Post/SendMessage(). Код, обрабатывающий сообщение, также вызывает RegisterWindowMessage, используя ту же самую строку. И получает тот же самый идентификатор сообщения. И проверяет соответствие в процедуре окна с оператором if().
Макрос ON_REGISTERED_MESSAGE ничего не делает, он просто скрывает это утверждение if().
Смежные вопросы
- 1. Win32 эквивалент getuid()
- 2. GTK эквивалент Win32 PostMessage()
- 3. C++ Win32 API эквивалент CultureInfo.TwoLetterISOLanguageName
- 4. Эквивалент Win32's ________ в .NET
- 5. Win32 эквивалент .NET. System.Diagnostics.Process.Exited event?
- 6. UWP эквивалент Win32's GetPointerFrameInfo()
- 7. Обрабатывайте ON_REGISTERED_MESSAGE, а затем продолжайте маршрутизацию
- 8. Эквивалент для счетчиков производительности Win32 на Linux
- 9. Что такое эквивалент POSIX для Mutex Win32?
- 10. Что такое эквивалент win32 для mac?
- 11. Win32 тип данных эквивалент в Linux
- 12. C++ Win32 - COM Метод: эквивалент декларация C
- 13. IOS Objective-C эквивалент Win32 PeekMessage/Перевести/диспетчерский
- 14. Как реализовать эквивалент функции Win32 MessageBox в PHP/JavaScript?
- 15. эквивалент Linux/POSIX для CreateEvent Win32, SetEvent, WaitForSingleObject
- 16. Что такое эквивалент насоса сообщений Win32 в Linux?
- 17. win32 api для Process.BeginOutputReadLine
- 18. WPF эквивалент LVS_EX_ONECLICKACTIVATE?
- 19. эквивалент ShellExecute в .NET
- 20. Win32 :: API не загружает win32 dll
- 21. Взаимозависимый эквивалент на Linux
- 22. OpenGL эквивалент SetROP2 (R2_NOT)
- 23. GetHostByAddr() win32
- 24. Wordwrap Win32
- 25. win32 Семафоры
- 26. Win32 резьба
- 27. Win32 CreatePatternBrush
- 28. GlobalMemoryStatusEx() (Win32)
- 29. Win32 synchronization
- 30. DateTime-эквивалент в C
У меня есть что-то вроде статического UINT UWM_MOUSEDBCLICK = :: RegisterWindowMessage (UWM_MOUSELDBCLICK_MSG); но там, где я должен делать, если заявление, может быть здесь \t // Главный цикл обработки сообщений: \t время (GetMessage (& тзд, NULL, 0, 0)) \t { \t \t если (TranslateAccelerator (msg.hwnd, hAccelTable, и сообщ)) \t \t { \t \t \t TranslateMessage (&msg); \t \t \t DispatchMessage (&msg); \t \t} \t \t если (msg.message == UWM_MOUSEMOVE) { \t \t \t // сделать smoething \t \t} \t} –
Нет, в оконной процедуре. Тот, который вы написали для окна, чей дескриптор вы используете в вызове Post/SendMessage. –
Хорошо, но теперь у меня есть еще одна проблема, глобальные мыши (за пределами окна клиента) не получает, я написал \t если (msg-> сообщение == WM_LBUTTONDOWN || \t msg-> сообщение == WM_NCLBUTTONDOWN) \t PostMessage (hWndServer, UWM_MOUSEMOVELEFTBUTTONDOWN, 0, 0); Но он не работает –