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

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

Как получить список хендлов всех программ не в трее а в таскбаре?


oduvan ©   (2003-07-20 20:07:00) 

Как получить список хендлов всех программ которые находятся в данный момент на панели задачь?

//Handle:=FindWindow("ToolbarWindow32",nil);
- неработает (
//Handle:=FindWindow("Shell_TrayWnd или типа того",nil);
- неработает (

Handle:=GetWindow(GetDesktopWindow,GW_CHILD);
while Handle<>0 do
begin
if GetWindowText(Handle,Result,1024)>0 then
begin
P:=(GetWindowLong(Handle,GWL_STYLE) and WS_TABSTOP)<>0;
if P then
begin
GetClassName(Handle,ClassName,1024);
a:=GetClassLong(Handle,GCL_HICON);
b:=GetClassLong(Handle,GCL_HICONSM);
ListBox1.Items.Add(IntToStr(A)+":"+IntToStr(B)+":"+Result);
end;
end;
( Handle,GW_HWNDNEXT)

Как получить список хендлов всех программ которые находятся в данный момент на панели задачь?

//Handle:=FindWindow("ToolbarWindow32",nil);
- неработает (
//Handle:=FindWindow("Shell_TrayWnd или типа того",nil);
- неработает (

Handle:=GetWindow(GetDesktopWindow,GW_CHILD);
while Handle<>0 do
begin
if GetWindowText(Handle,Result,1024)>0 then
begin
P:=(GetWindowLong(Handle,GWL_STYLE) and WS_TABSTOP)<>0;
if P then
begin
GetClassName(Handle,ClassName,1024);
a:=GetClassLong(Handle,GCL_HICON);
b:=GetClassLong(Handle,GCL_HICONSM);
ListBox1.Items.Add(IntToStr(A)+":"+IntToStr(B)+":"+Result);
end;
end;
Handle:=GetNextWindow(Handle,GW_HWNDNEXT);
end;

этот код берет вообще все программы, которые висят в памяти (или почти все), а как достать только те которые на панели задач


oduvan   (2003-07-21 16:12:00) [1]

Ну вы мастера или нет? помогите


Наверх

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