Alt Tab覆盖Win32标识符

luc*_*asg 6 c++ windows winapi alt-tab

我将来自外部传感器(例如键盘)的事件映射到键盘快捷键,我想使用快速切换覆盖窗口(即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);
    } 
}
Run Code Online (Sandbox Code Playgroud)

Press和Release只需使用正确的属性调用SendInput.

我的问题是我不知道一个可靠的方法来确定用户当前是否在Alt- Tab程序列表中.有谁知道如何使用Win32 API识别Alt-Tab覆盖菜单?

Ray*_*hen 6

EVENT_SYSTEM_SWITCHSTART/ EVENT_SYSTEM_SWITCHEND事件告诉你,当Alt+ Tab窗口出现和消失.