Alt Tab оверлейный идентификатор Win32

Я отображаю события, поступающие от внешнего датчика (например, клавиатуры), на сочетания клавиш, и я хотел бы переключать приложения с помощью окна быстрого переключения (т. Е. Меню " Alt - Tab "), но я хочу продолжать показывать меню переключателей до заявка выбрана.

В основном то, что я делаю, это:

if(notInSwitchMenu) 
{   // Alt-Tab keystroke, but Alt remains pressed : the menu is still visible
    Press(VK_MENU); 
    Press(VK_TAB); 
    Release(VK_TAB);
}
else
{

    if(event1) //Tab keystroke : next app
    {
        Press(VK_TAB);
        Release(VK_TAB) ;
    } 
    else if(event2) //Shift-Tab keystroke  : previous app
    { 
        Press(VK_SHIFT); 
        Press(VK_TAB);
        Release(VK_TAB);
        Release(VK_SHIFT) 
    }
    else if(event3) // we get out of the menu : the selected app has the focus.
    {
        Release(VK_MENU);
    } 
}

Пресс и релиз просто вызывают SendInput с правильными свойствами.

Моя проблема в том, что я не знаю надежного метода для определения, находится ли пользователь в списке программ Alt- Tab. Кто-нибудь знает, как определить оверлейное меню Alt-Tab с Win32 API?

1 ответ

Решение

EVENT_SYSTEM_SWITCHSTART/EVENT_SYSTEM_SWITCHEND события сообщают вам, когда окно Alt+Tab появляется и исчезает.

Другие вопросы по тегам