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

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

Как определить раскладку в другой программе ? [D6, Win95/98, WinME, NT4, Win2k, WinXP]


pentium ©   (2002-07-30 03:23:00) 

Ситуация такова запущена программа например (Word, Winamp, Блокнот) в принципе без разницы.
Дальше запускается моя программа, и в какой-то из процедур надо определить раскладку клавиатуры в программе например (Word или Winamp или Блокноте). Запомнить раскладку и в дальнейшем использовать эту информацию в своей программе.

Для определения раскладки используется функция GetKeyboardLayout().
Для определении раскладки в своей программе GetKeyboardLayout(0) или GetKeyboardLayout(GetCurrentThreadId).
Как определить раскладку в другой программе GetKeyboardLayout(????????) ? Вроде надо знать идентификатор процесса(программы), для которого выясняется раскладка клавиатуры GetCurrentProcessID() ?
Хотелось бы пример.


pentium   (2002-08-01 05:48:00) [1]

Спасибо Yurko! Определение раскладка для активной программы мне тоже пригодится. А возможно определить раскладку не для активной ?


Yurko   (2002-07-31 03:08:00) [2]

var
KL: HKL;
begin
KL := GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow, nil)); //раскладка для активной программы
end;


Наверх

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