我将来自外部传感器(例如键盘)的事件映射到键盘快捷键,我想使用快速切换窗口切换应用程序(即 Alt - Tab < / kbd> menu“),但我想继续显示切换菜单,直到选择了一个应用程序。
基本上,我在做什么是这样的:
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叠加菜单?
答案 0 :(得分:6)
当{kbd> Alt + 标签窗口出现并消失时,EVENT_SYSTEM_SWITCHSTART
/ EVENT_SYSTEM_SWITCHEND
事件会告诉您。