我正在将来自外部传感器(例如键盘)的事件映射到键盘快捷方式,并希望使用快速切换覆盖窗口(即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程序列表中。有人知道如何使用Win32 API识别Alt-Tab覆盖菜单吗?
Ctrl+Alt+Tab
一次将强制列表保持打开状态,直到您选择一个应用程序? - Christian IvicevicEVENT_SYSTEM_SWITCHSTART
/EVENT_SYSTEM_SWITCHEND
事件会告诉你Alt
+Tab
窗口何时出现和消失。 - Raymond Chen