2015-02-09 1 views
0

У меня есть код, который получает дескриптор окна, на который указывает указатель мыши, и мне нужно определить, указывает ли курсор мыши на окно, которое не является частью панели задач. Мой код может распознать, если я указываю на панель задач, кнопку запуска и кнопку рабочего стола (на окнах 7). Но я не могу узнать, указываю ли я на просмотр миниатюр комбинированных окон (см. Рисунок ниже).Как определить, является ли дескриптор окна вид миниатюр панели задач?

enter image description here

Это код, который я использую, чтобы распознать панель задач:

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; 

Как я могу проверить, если курсор указывает на эскизов комбинированных окон? Благодарю.

ответ

0

мне удалось найти решение:

FindWindow("TaskListThumbnailWnd", ""); 

Я использовал Spy ++, чтобы найти имя класса окна на панели задач миниатюр.

Spy ++ может использоваться из Visual Studio (Tools> Spy ++).