Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6. Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты. Читайте требования к создаваемым темам.
Мне нужно определить, отображать окно на панели задач или нет. Документация говорит о ws_ex_appwindow, но на практике далеко не каждое окно, среди тех, что на оригинальной панели задач, имело этот флаг. Что-то еще есть?
И вы думаете, что вас оставят в живых после прочтения этого поста?
Чисто интуитивное решение. Кнопки на таскбаре это же окна, значит их все можно сосчитать Находим хендл таскбара FindWindow("Shell_TrayWnd", "") а потом функцией EnumChildWindows считаем все кнопки и через GetWindowText получаем название приложений.
Сначала проверяем IsWindowVisible, затем GetWindow с GW_OWNER, далее GetParent и наконец, GetWindowLong с WS_EX_TOOLWINDOW. Все "правильные" окна проходят, все "неправильные" отфильтровываются.
И вы думаете, что вас оставят в живых после прочтения этого поста?