Список приложений по CTRL+ALT+DEL

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
deepslam
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 286
Зарегистрирован: 19.08.2002 (Пн) 2:25
Откуда: Russia

Список приложений по CTRL+ALT+DEL

Сообщение deepslam » 10.12.2003 (Ср) 21:29

Доброго времени суток!
У меня такой вопрос:
Как получить hwnd открытых окон, только по нормальному, т.е. так, как видит их Windows, т.е. те окна, которые на панели задач? Все перерыл, не могу найти, есть всякие получения классов, получения списка CTRL + ALT +DEL, но они выдают большее количество окон, например для проекта Visual BAsic'a эти функции выдают 3 hwnd...

SV
Обычный пользователь
Обычный пользователь
 
Сообщения: 63
Зарегистрирован: 15.05.2002 (Ср) 16:09
Откуда: Russia

Сообщение SV » 11.12.2003 (Чт) 16:57

Есть в API функции типа EnumPopupWindow или чтото вроде.
Окна кажеться относительно рабочего стола надо искать.
А то что по VB выдают 3 окна так их надо по имени класса отловить.
И можно посмотреть, еще видны окна или нет!
Если слишком надо пороюсь в справочнике, напомни по майлу!

deepslam
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 286
Зарегистрирован: 19.08.2002 (Пн) 2:25
Откуда: Russia

Сообщение deepslam » 11.12.2003 (Чт) 18:53

Ну вообще то надо (так бы не спрашивал:). Я просто свою панельку задач хочу написать, по типу MacOS что - нить, со всем остальным вроде нет проблем, а вот с этим...
Насчет того, что по имени класса ты не прав, т.к. у всех классы разные, например у Photoshop'a - photoshop, у дочерних окон VB - IDEOwner, у Winamp - что то вроде winamp 1.xx...

deepslam
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 286
Зарегистрирован: 19.08.2002 (Пн) 2:25
Откуда: Russia

Сообщение deepslam » 14.12.2003 (Вс) 17:42

Прям так никто и не знает? :wink:

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 14.12.2003 (Вс) 20:03

Можно перебрать все окна функцией EnumWindows, а затем GetWindowLong(GWL_STYLE) AND WS_POPUP .

Сам не пробовал но работать должно :!: :!: :!:

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 15.12.2003 (Пн) 6:21

Попробуй так:
Перебираешь все окна (например через GetWindow) и смотришь у кого из них родителем (GetParent) является рабочий стол (GetDesktopWindow). Они и будут нужные тебе окна.
Сам не пробовал :?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 4

    TopList