Мне нужно создать специальную горячую клавишу для функции alt-tab. Я делаю это с SendInput
, отправив соответствующие ключи, и он работает нормально.
Однако, если горячая клавиша уже включает Alt-ключ, программе нужно только нажать и отпустить вкладку; но это приводит к тому, что меню alt-tab застрянет на экране даже, и единственный способ уйти - закрыть мою программу. Как это могло произойти, и что закрывает мою программу, чтобы меню исчезло?
С другой стороны, при любых нажатиях клавиши send (alt down) (tab down) (tab up) (вверх) остаются вне зависимости от того, работает ли alt уже во всех случаях, но я не могу полагаться на это поведение по другим причинам.
Я использую WinXP, если это помогает, я еще не пробовал его на компьютере Win7.
Я не знаю, связано ли это, но Alt + Ctrl + Tab заставляет меню застревать, как если бы Alt придерживался при нажатии Alt + Tab. Возможно, вы как-то посылаете сигнал Ctrl.
Возникла аналогичная проблема, вызванная выполнением PostMessage WM_KEYDOWN, VK_TAB, в событии, вызванном нажатием кнопки ALT-N для отмены действия. Таким образом, клавиша ALT была нажата, когда табуляция была отправлена. Поскольку наш код никогда не отправляет WM_KEYUP, он, должно быть, запутал Win XP. Выйдите из меню alt-tab на экране, пока приложение не выйдет.