Форум: "WinAPI";
Текущий архив: 2003.12.04;
Скачать: [xml.tar.bz2];
ВнизКак зная хендл окна прочитать его заголовок и заменить своим Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.12.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c