February 11, 2020

Названия классов windows taskbar`s

Начал недавно допиливать свою революционную программку.

И встала задача получить хендлы всех панелей задач windows, это то  место, где видны все запущенные приложения, часы и прочая. Их ровно  столько, сколько мониторов в системе. Чтобы получить первую панельку,  нужно найти окно с классом "Shell_TrayWnd", а чтобы вторую, с классом  "Shell_SecondaryTrayWnd". А теперь, внимание, вопрос - как получить  третью и все последующие панельки? Гугл и Яндекс как сговорились,  отвечали на мои запросы довольно невнятно.

Следуя логике, предположил, что третья панелька будет зваться  "Shell_ThirdTrayWnd", но если это погуглить, то вообще выходит какая-то  китайщина.

Плюнул на всё, создал в VirtualBox 8 мониторов и обнаружил, что все  панели задач кроме первой, имеют одинаковый класс  "Shell_SecondaryTrayWnd", даже в MSDN про такое не пишут. Брать их  приходится через апишный FindWindowEx, указывая последовательно с какого  хэндла начинать поиск.

Надеюсь теперь это будет нагугливаться.