Я делаю приложение на C ++ с KINECT. Я в основном хочу использовать его для отправки alt f4, чтобы закрыть текущее окно с фокусом, а не мое приложение, как вы обычно нажимаете alt f4 на кеборде. Заранее спасибо.
Я уже использую VkKeyScanA для ввода нескольких других клавиш, но я просто не могу найти код клавиши для alr + f4
Есть несколько способов сделать это. Эмуляция нажатий клавиш — последнее, что вы должны сделать, очень трудно понять, как правильно, так как вы не можете достаточно хорошо контролировать состояние клавиатуры процесса.
Первый — это GetForegroundWindow + SendMessage для отправки команды WM_SYSCOMMAND, SC_CLOSE. Это то, что делает Alt + F4, когда это обрабатывается оконной процедурой по умолчанию. Который в свою очередь отправляет WM_CLOSE по умолчанию, если программа не переопределяет обработку WM_SYSCOMMAND.
Если вы создаете свое собственное окно, вам следует избегать попыток найти окно переднего плана. Отправьте WM_APPCOMMAND с командой APPCOMMAND_CLOSE в собственное окно. Ваш вызов DefWindowProc () перенаправляет команду через несколько слоев в оболочку.
Если вы думаете о более решительном способе, таком как WM_CLOSE, тогда просмотрите обзор Раймонда Чена. недавнее сообщение в блоге.
Других решений пока нет …