kinect — Имитация нажатия клавиш ALT + F4 в переполнении стека

Я делаю приложение на C ++ с KINECT. Я в основном хочу использовать его для отправки alt f4, чтобы закрыть текущее окно с фокусом, а не мое приложение, как вы обычно нажимаете alt f4 на кеборде. Заранее спасибо.

Я уже использую VkKeyScanA для ввода нескольких других клавиш, но я просто не могу найти код клавиши для alr + f4

0

Решение

Есть несколько способов сделать это. Эмуляция нажатий клавиш — последнее, что вы должны сделать, очень трудно понять, как правильно, так как вы не можете достаточно хорошо контролировать состояние клавиатуры процесса.

Первый — это GetForegroundWindow + SendMessage для отправки команды WM_SYSCOMMAND, SC_CLOSE. Это то, что делает Alt + F4, когда это обрабатывается оконной процедурой по умолчанию. Который в свою очередь отправляет WM_CLOSE по умолчанию, если программа не переопределяет обработку WM_SYSCOMMAND.

Если вы создаете свое собственное окно, вам следует избегать попыток найти окно переднего плана. Отправьте WM_APPCOMMAND с командой APPCOMMAND_CLOSE в собственное окно. Ваш вызов DefWindowProc () перенаправляет команду через несколько слоев в оболочку.

Если вы думаете о более решительном способе, таком как WM_CLOSE, тогда просмотрите обзор Раймонда Чена. недавнее сообщение в блоге.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]