Как получить список хендлов всех программ панели задач?
От: oduvan  
Дата: 20.07.03 16:39
Оценка:
Как получить список хендлов всех программ которые находятся в данный момент на панели задачь?

//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;

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