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

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

Как зная хендл окна прочитать его заголовок и заменить своим [D5, NT4, Win2k, WinXP]


igornov ©   (2003-10-07 18:20:00) 

Здравствуйте уважаемые мастера!!!

Необходимо в заголовок некоторого терминального приложения включить индикатор раскладки клавиатуры. Как читать текущую раскладку знаю. Могу прочитать также и заголовок. Но как туда
запихнуть то же + свой текст (в данном случае значение раскладки)

Интересует именно по хендлу, поскольку заголовок приложения при работе постоянно меняется.

Заранее благодарен.


Игорь Шевченко   (2003-10-08 13:48:00) [1]

igornov (08.10.03 12:48)

Да, прошу пардону, для конкретного потока тоже можно. Ошибся я :)

В пределах нужного окна - GetWindowRect


blackman   (2003-10-08 13:11:00) [2]

XP - чужое окно = чужая раскладка


igornov   (2003-10-08 12:48:00) [3]

ну почему? ниже приведённый код это делает

function GetActiveKLayout: string;
var
hWindow,idProcess : THandle;
begin
hWindow := GetForegroundWindow;//получаем handle активного окна чужой программы
idProcess := GetWindowThreadProcessId(hWindow,nil);//Получаем идентификатор чужого процесса
case (GetKeyboardLayout(idProcess) shr $10) of //Получаем текущую раскладку в чужой программе
1033 : result := "EN";
1058 : result := "UK";
1049 : result := "RU";
end;
end;

остаётся только вывести например прозрачную плавающую форму с значением раскладки в пределах нужного терминального приложения.
Только вот как эти пределы вычислить для чужого окна?


Игорь Шевченко   (2003-10-08 10:07:00) [4]


> Как читать текущую раскладку знаю.


Для своего приложения. Но не для чужого. И не факт, что раскладки будут совпадать.


igornov   (2003-10-08 09:12:00) [5]

А сам индикатор тот который выводится в трей internat.exe как-то
связать или поместить в заголовок главного окна чужого приложения можно?


clickmaker   (2003-10-07 18:38:00) [6]

WM_SETTEXT, SetWindowText


Наверх

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