Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
14-54254
Driverrr
2003-02-28 12:29
2003.03.17
UT...


1-54103
and_sp
2003-03-05 17:41
2003.03.17
Архивирование


1-54066
AlexVit
2003-03-04 08:04
2003.03.17
Как определить, что приложение зависло?


6-54146
alexro
2003-01-29 11:42
2003.03.17
Текущий юзер на компе в домене


7-54346
ychnik
2003-01-22 18:13
2003.03.17
Глупый вопрос, но все же...




   Наверх