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

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

Как найти все окна с заданным заголовком и классом? [Win2k, WinXP]


Progh ©   (2004-11-19 08:43:00) 

Как найти все окна с заданным заголовком и классом, при том что открыто их может быть несколько одинаковых


DelphiN!   (2004-11-19 13:55:00) [1]


> [1] Jay   (19.11.04 09:10)


А что будет с твоим кодом, если окно не захочет закрываться? Наивный ты ;)


easy   (2004-11-19 09:47:00) [2]

function EnumWindowsProc(Wnd: hWnd; Param: lParam): Bool; stdcall;
var
buf:array [0..MAX_PATH] of char;
begin
GetClassName(Wnd,buf,MAX_PATH);
if buf='IEFrame' then begin
  GetWindowText(Wnd,buf,MAX_PATH);
  TMemo(Param).Lines.Add(buf);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Memo1.Clear;
 EnumWindows(@EnumWindowsProc, Longint(Memo1));
end;


Jay   (2004-11-19 09:10:00) [3]

Repeat
handle := FindWindow('TForm1', 'My Window'); //или на оборот
if handle = 0 then Break; //Выход из цикла при отсутствии такого окна
PostMessage(handle, WM_QUIT, 0, 0); //тушить их, например
Until false //Безконечный цикл


Наверх

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