【问题标题】:Alt Tab overlay Win32 identificatorAlt Tab 覆盖 Win32 标识符
【发布时间】:2012-10-12 15:20:01
【问题描述】:

我正在将来自外部传感器(例如键盘)的事件映射到键盘快捷键,我想使用快速切换覆盖窗口(即 Alt-Tab 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 覆盖菜单吗?

【问题讨论】:

  • 你知道吗,使用Ctrl+Alt+Tab 一次会强制列表保持打开状态,直到你选择一个应用程序?
  • EVENT_SYSTEM_SWITCHSTART/EVENT_SYSTEM_SWITCHEND 事件告诉您Alt+Tab 窗口何时出现和消失。
  • @Raymond Chen 回答这个问题。
  • 在您的特定情况下,您知道当您按下 alt 键时,只需在其中保留一个标志以了解您的应用何时仍按住 alt 键。

标签: c++ windows winapi alt-tab


【解决方案1】:

EVENT_SYSTEM_SWITCHSTART/EVENT_SYSTEM_SWITCHEND 事件会告诉您 Alt+Tab 窗口何时出现和消失。

【讨论】:

  • 详细说明,使用SetWinEventHook接收这些事件。
  • 谢谢!这正是我想要的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-12
  • 1970-01-01
  • 1970-01-01
  • 2014-04-06
  • 2014-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多