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

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

Как получить дискриптор окна моей программы? [D7, WinXP]


turonix ©   (2004-02-02 11:26:00) 

Была какая-то функция но я забыл ее название поэтому никак найти не могу


Rouse_   (2004-02-02 14:26:00) [1]

> [7] Anatoly Podgoretsky ©   (02.02.04 14:17)
Нет, в одном варианте возвращается Application.Handle - это Project1
Во втором Form1.Handle
А в третьем вообще ничего не возвращается...

И судя по вопросу "Как получить дискриптор окна моей программы?" неизвесно какое именно окно хочет получить автор вопроса, вот я и сказал что не обязательно будет твое (ну т.е. не то которое тебе нужно...)


Anatoly Podgoretsky   (2004-02-02 14:17:00) [2]

Это три активных окна, но твоих


Rouse_   (2004-02-02 14:08:00) [3]

> [5] Игорь Шевченко ©   (02.02.04 13:53)

procedure TForm1.Timer1Timer(Sender: TObject);
var
 H: HWND;
 Buf: array [0..255] of Char;
begin
 H := GetActiveWindow;
 GetWindowText(H, @Buf[0], 256);
 Memo1.Lines.Add(IntToStr(H) + ' ' + String(Buf));
end;


Если запустить данный код и посворачивать форму, просто делать ее не активной, то можно увидеть что иногда он возвращает ноль, иногда Form1 а иногда Project1

Ps: Просто неверно выразился ;)


Игорь Шевченко   (2004-02-02 13:53:00) [4]

Rouse_ ©   (02.02.04 11:58)


> вернет тебе хэндл активного окна и не обязательно что это
> окно будет твоим...


А чьим еще оно сможет быть ?


Thick   (2004-02-02 12:25:00) [5]

Если пишеш на АРІ, то CreateWindow возвращает этот самый дескриптор


Rouse_   (2004-02-02 11:58:00) [6]

GetActiveWindow - вернет тебе хэндл активного окна и не обязательно что это окно будет твоим...


turonix   (2004-02-02 11:34:00) [7]

Все я разобрался: GetActiveWindow


Alexander666   (2004-02-02 11:28:00) [8]

Application.Handle?
FormName.Handle?


Наверх

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