Я не уверен, каким образом можно работать конкретно с HMENU, чтобы увидеть, отображается ли меню (и быстрое сканирование документов SDK платформы не показало ничего конкретного), но вы можете использовать GetMenuItemInfo
функция для получения MENUITEMINFO
структуры, относящейся к пункту меню, которому принадлежит выпадающий список. Если для элемента fState
установлено значение MFS_HILITE
, это должно указывать на то, что элемент выбран и подменю, скорее всего, открыто. Корректность с моей стороны не гарантирована, но с ней стоит поэкспериментировать.
Другой возможный вариант - использовать FindWindow
с классом "# 32768", чтобы найти hWnd всех меню, которые могут быть открыты, и отправлять сообщение MN_GETHMENU
в любое окно, которое вы найдете, чтобы получить HMENU
и сравнить это к ожидаемому значению от GetSubMenu
.