![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить список хендлов всех программ не в трее а в таскбаре?
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]
Ну вы мастера или нет? помогите