Текущий архив: 2003.03.17;
Скачать: CL | DM;
Вниз
FindWindow Найти похожие ветки
← →
sveloga (2003-01-23 13:19) [0]никак не пойму где грабли зарылись:
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икак не желает находить оконо когда оно уже существует...
← →
LongIsland (2003-01-23 13:29) [1]hwnd := FindWindow ("TMainBase", "MainBase");
← →
sveloga (2003-01-23 14:58) [2]Такой вариант тоже пробовал, результат тот же.
← →
Zz_ (2003-01-23 15:00) [3]FindWindowEx
← →
sveloga (2003-01-23 15:17) [4]Там красным по белому написано: [Now Supported on Windows NT]
А у меня именно НТ :-(
← →
MBo (2003-01-23 15:21) [5]Now по-русски "Теперь"
Однако и твой первый вариант рабочий, если имя верно.
Можно искать и только по классу окна
hwnd := FindWindow ("TMainBase",nil);
← →
sveloga (2003-01-23 15:36) [6]Если искать только по классу, то он хэнл выдает, если даже этого окна еще не создано.
← →
Nick_N_A (2003-01-24 06:27) [7]Лучше искать вручную
wnd:=128;
repeat
if isWindow(wnd) then Begin
// найдено следуещее окно
... getWindowText ... getClassName ...
if SearchOK then break;
end;
wnd:=wnd+4;
until not ((wnd<10000000{???}));
Страницы: 1 вся ветка
Текущий архив: 2003.03.17;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.009 c