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

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

Как узнать имя окна handle? [D7, XP]


Troan_81 ©   (2006-11-14 22:11:00) 

Вечер добрыЙ!

Ребята подскажите как узнать имя активного окна (например папки).
вот кусок кода чета голова дальше не соображает :(
Подскажите пожалуйста че не так...
вот кусок кода:


var
 Form1: TForm1;
 windtext: array [0..255] of char;
 str: string;

procedure TForm1.Button1Click(Sender: TObject);
var   h : THAndle;
begin
   h:=GetWindowText(h, windtext, 255);
   memo1.Lines.Add(windtext);
end;


Anatoly Podgoretsky   (2006-11-14 22:30:00) [1]

Парень, тут у нас с наездами не уважают, быстро показывают направление.


Troan_81   (2006-11-14 22:26:00) [2]

Если проверить имя нужного то я использую такой прием  
if findwindow(nil,'1')<>0 then....

но мне нужно наоборот. узнать имя открытого этого '1' ...


Anatoly Podgoretsky   (2006-11-14 22:25:00) [3]

> Troan_81  (14.11.2006 22:17:05)  [5]

Хендл окна по имени получают с помощью функции FindWindow
Ты бы определился все таки, что ты хочешь спросить.

А не прогоняйте, так это мы запросто, только от тебя зависит.


Troan_81   (2006-11-14 22:24:00) [4]

Слушай дед, ты бы лучше лекцию прочитал, чем умничать сверху :/


Anatoly Podgoretsky   (2006-11-14 22:23:00) [5]

> Troan_81  (14.11.2006 22:14:03)  [3]

Скрипач, ты зеленое от красного отличаешь.
Внимательно прочитай свой вопрос, зачем же тогда пишешь про handle


Percent   (2006-11-14 22:23:00) [6]

что не так?

Все не так. Откуда у тебя h взялось?


Troan_81   (2006-11-14 22:22:00) [7]

procedure TForm1.Button1Click(Sender: TObject);
var   h : THAndle;
begin
   GetWindowText(h, windtext, 255);
   str:= windtext;
   memo1.Lines.Add(str);

что не так?


Percent   (2006-11-14 22:20:00) [8]

1. Получить список всех окон верхнего уровня (см. EnumWindows());
2. Получить текст заголовка для них (см. GetWindowText()).


Troan_81   (2006-11-14 22:17:00) [9]

Не прогоняйте меня ребят :(((
Я тока пришел и уже до свидания? Нет так нельзя.
У меня такой вот вопрос (по другому).
Предположим, что открыто окно с именем "test" или "новая папка" как мне это узнать?


Percent   (2006-11-14 22:15:00) [10]

Подскажите пожалуйста че не так...

Ответ очевиден: "чета голова дальше не соображает"...

Когда будет соображать голова и ты сможешь хоть как-то более-менее корректно сформулировать вопрос (в первую очередь понять сам, чего тебе надо) - приходи еще...


Troan_81   (2006-11-14 22:14:00) [11]

да нет. мне нужно получить имя окна и записать это в string


Anatoly Podgoretsky   (2006-11-14 22:13:00) [12]

> Troan_81  (14.11.2006 22:11:00)  [0]

У папки нет окон


Anatoly Podgoretsky   (2006-11-14 22:12:00) [13]

> Troan_81  (14.11.2006 22:11:00)  [0]

GetForegroundWindow сразу возвращает хендл


Наверх

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