Узнать заголовок окна

  • Автор темы DenProx
  • Дата начала
D

DenProx

#1
Доброго времени суток. У меня такой вот вопрос: как можно считать заголовок окна какого либо приложения, после его открытия из под Delphi ? т.е. например чере OpenDialog открываем медиа файл, или любой другой, и после этого заголовок этого окна записывается в какую ни будь переменную...

p.s. надеюсь понятно излжил мысль)
 
D

DenProx

#3
вполне... я даже знаю ответ, но хотелось бы знать все способы. Вот пример который известен мне:
Код:
var
Wnd: hWnd;
buff: array[0..127] of Char;
begin
Wnd := GetForegroundWindow();
GetWindowText(Wnd, buff, sizeof(buff));
Memo1.Lines.Add(buff);
если этот код поставить для таймера, то каждый интервал времени, будет заноситься заголовок окна, который в данный момент времени выбран.
 

VahaC

Well-known member
10.01.2007
116
0
#5
если непонятно написал, так и скажите что именно не понятно... попробую описать вопрос иначе.
после поста с примером кода всё стало понятно.


А теперь по теме вопроса:

Можно поставить системный hook на допустим левый клик(можно и на какое то другое сообщение) и выполнять в нем приведенный вами код
 
D

DenProx

#6
я так пробывал, ставил на кнопку "Откртыть", которая запускает (открывает) файл соответствующий, но проблема в том, что на момент нажатия, активное окно - "Окно Открыть" , и получается так что заголовок записывается, этого окна, т.к. файл открывается с небольшой задержкой, соответственно и фокус получает позже.... и как с этим бороться, я ни как не могу придумать...
 
D

DenProx

#8
Спасибо, почитаю)) Всегда интересно узнать что-то новое)