![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить дискриптор окна моей программы? [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?