检测Win + Tab任务视图

在Windows 10上,您可以按Win + Tab以获取所有窗口的“任务视图”视图。 我试图在任何给定时间检查这是否有效。 我尝试使用WH_KEYBOARD_LL的低级键盘挂钩,但这只允许我检测按键,而不是切换器处于活动状态。 我查看了Windows DWM API,但也没有找到任何其他内容。

我也尝试过使用EnumWindows()EnumChildWindows(GetDesktopWindow(), ...)并且在显示和隐藏任务视图之间的输出中没有发现任何差异。

有没有准确的方法来检测是否显示?

这是一个与我的Windows版本(1709 build 16299.125)非常一致的解决方案,并且不需要处理器密集的方法调用EnumChildWindows

 bool isTaskView() { //Get foreground window's name HWND fgWindow = GetForegroundWindow(); TCHAR windowName[MAX_PATH] = L""; GetWindowText(fgWindow, windowName, MAX_PATH); //Compare with magic string name of Task View's window std::wstring nameStr(windowName); return nameStr == L"Task View"; }