Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.04;
Скачать: CL | DM;

Вниз

Как зная хендл окна прочитать его заголовок и заменить своим   Найти похожие ветки 

 
igornov   (2003-10-07 18:20) [0]

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

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

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

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


 
clickmaker ©   (2003-10-07 18:38) [1]

WM_SETTEXT, SetWindowText


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

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


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


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


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


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

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

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;

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


 
blackman ©   (2003-10-08 13:11) [5]

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


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

igornov (08.10.03 12:48)

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

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



Страницы: 1 вся ветка

Текущий архив: 2003.12.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
1-11603
Forsaken
2003-11-25 05:01
2003.12.04
EOleSysError


11-11599
France
2003-03-21 18:40
2003.12.04
Удаление выделенных строк в KOLListView


4-11731
KADAN
2003-10-07 21:29
2003.12.04
Shut down the computer (2k, XP)


4-11739
Pavels
2003-10-11 13:57
2003.12.04
проблема с создание окна


1-11606
Seldon
2003-11-25 17:19
2003.12.04
TCheckListBox и lbVirtual