Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Панель задач [D5, WinME, WinXP]


DarkSimpson ©   (2002-09-16 23:38:00) 

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


DarkSimpson   (2002-09-18 19:06:00) [1]

Всем спасибо. Всё ОК.


Alx2   (2002-09-18 09:35:00) [2]

>Song © (18.09.02 09:25)
>Надо проверить чтобы родитель был DeskTop:
>IF GerParent(Wnd)=GetDeskTopWindow

Ничего не даст (в смысле, нужного)

PS
Это в хэлпе:
A window button is placed on the taskbar whenever an application creates a unowned primary window.


Song   (2002-09-18 09:25:00) [3]

Надо проверить чтобы родитель был DeskTop:

IF GerParent(Wnd)=GetDeskTopWindow

проверить что это окно
... and IsWindow(Wnd) then ..


Alx2   (2002-09-18 08:14:00) [4]

>А мне надо _отфильтровать_ всю шнягу, и получить только те
>окна, которые показывает таскбар.
Анализировать стили окна, наверное.


if GetWindowLong(hwnd,GWL_STYLE) and (WS_OVERLAPPEDWINDOW or WS_Visible) = (WS_OVERLAPPEDWINDOW or WS_Visible)then
then ....

Еще стоит рассмотреть стиль WS_EX_APPWINDOW

Позже скажу точнее


DarkSimpson   (2002-09-17 23:50:00) [5]

EnumWindows дает ВСЕ окна, в т.ч. скрытые, мессаж-боксы и т.д. А мне надо _отфильтровать_ всю шнягу, и получить только те окна, которые показывает таскбар.


Alx2   (2002-09-17 07:51:00) [6]

см. http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1031915105&n=5

и EnumWindows


Наверх

Титульная страница Поиск, карта сайта Написать письмо