如何判断一个window句柄是否是任务栏缩略图?

How to determine if a window handle is the taskbar thumbnail view?

我有一个代码可以获取鼠标光标指向的 window 句柄,我需要确定鼠标光标是否指向不属于 window 的 window任务栏。我的代码能够识别我是否指向任务栏、开始按钮和显示桌面按钮(在 windows 7 上)。但是我无法识别我是否指向组合 windows 的缩略图视图(见下图)。

这是我用来识别任务栏的代码:

    m_hTaskBar = FindWindow("Shell_TrayWnd", "");
    m_hTaskBar = GetAncestor(m_hTaskBar, GA_ROOT);

    // This code is at a mouse move event:
    POINT p;
    GetCursorPos(&p);

    HWND hWnd = GetAncestor(WindowFromPoint(p), GA_ROOT);
    m_hSelectedWin = hWnd;

bool isTaskBar = m_hSelectedWin == m_hTaskBar || GetParent(m_hSelectedWin) == m_hTaskBar;

如何检查光标是否指向组合windows的缩略图视图?谢谢

我找到了解决办法:

FindWindow("TaskListThumbnailWnd", "");

我使用 Spy++ 找到了任务栏缩略图的 class 名称 window。

可以从 Visual Studio(工具 > Spy++)使用 Spy++。

你也可以通过Autohotkey找到它Window Spy.