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

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

FindWindow [D6, Win2k]


sveloga ©   (2003-01-23 13:19:00) 

никак не пойму где грабли зарылись:

Procedure xxx ();
var
Child: TMainBase;
hwnd: integer;
begin
hwnd := FindWindow (nil, "MainBase");
if hwnd <> 0 then
begin
{}
end
else
begin
Child := TMainBase.Create(Application);
Child.Caption := "MainBase";
end;
end;

Hикак не желает находить оконо когда оно уже существует...


Nick_N_A   (2003-01-24 06:27:00) [1]

Лучше искать вручную

wnd:=128;
repeat
if isWindow(wnd) then Begin
// найдено следуещее окно
... getWindowText ... getClassName ...
if SearchOK then break;
end;
wnd:=wnd+4;
until not ((wnd<10000000{???}));


sveloga   (2003-01-23 15:36:00) [2]

Если искать только по классу, то он хэнл выдает, если даже этого окна еще не создано.


MBo   (2003-01-23 15:21:00) [3]

Now по-русски "Теперь"
Однако и твой первый вариант рабочий, если имя верно.
Можно искать и только по классу окна
hwnd := FindWindow ("TMainBase",nil);


sveloga   (2003-01-23 15:17:00) [4]

Там красным по белому написано: [Now Supported on Windows NT]

А у меня именно НТ :-(


Zz_   (2003-01-23 15:00:00) [5]

FindWindowEx


sveloga   (2003-01-23 14:58:00) [6]

Такой вариант тоже пробовал, результат тот же.


LongIsland   (2003-01-23 13:29:00) [7]

hwnd := FindWindow ("TMainBase", "MainBase");


Наверх

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