8

我正在将来自外部传感器(例如键盘)的事件映射到键盘快捷键,我想使用快速切换覆盖窗口(即菜单“)切换应用程序AltTab但我想继续显示切换菜单,直到应用程序被选中。

基本上,我在做什么是这样的:

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);
    } 
}

Press and Release 只需使用正确的属性调用 SendInput。

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

4

1 回答 1

9

/事件告诉您+窗口何时出现和消失EVENT_SYSTEM_SWITCHSTARTEVENT_SYSTEM_SWITCHENDAltTab

于 2012-10-12T18:57:16.893 回答