Делать не использовать HWND_BROADCAST с чем-то вроде WM_HOTKEY. На самом деле, избегайте HWND_BROADCAST, за исключением тех случаев, когда вы действительно хотите передавать сообщение каждому отдельному окну. В противном случае вы столкнетесь с невероятным количеством проблем с другими окнами, обрабатывающими ваше сообщение.
Вы также неправильно используете WM_HOTKEY. wParam не состоит из HIWORD / LOWORD двух ключей. Программисты назначают горячие клавиши с RegisterHotKey , которым они передают идентификатор, а также горячие клавиши, которые генерируют сообщение WM_HOTKEY с этим идентификатором.
Есть несколько способов найти этот идентификатор, который должен быть вашим wParam. Во-первых, вы можете отлаживать цель и точку останова в RegisterHotKey (), пока не найдете нужный. В качестве альтернативы вы можете использовать Spy ++ и нацелить окно и проверить, что это за идентификатор.
Конечно, есть вероятность, что горячая клавиша не работает через горячую клавишу, а вместо этого - что-то вроде ускорителя клавиатуры. Вам нужно будет выполнить аналогичные шаги, чтобы найти параметры для WM_COMMAND или WM_SYSCOMMAND, которые получаются целью при нажатии этой кнопки. Я рекомендую использовать Spy ++.