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

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

Переключение раскладки [NT4, Win2k, WinXP]


Guest ©   (2003-09-04 15:19:00) 

Надо програмно изменить раскладку клавиатуры используя только сообщения. Для этого я попытался имитировать последовательное нажатие клавиш <ALT><SHIFT> (или <CTRL><SHIFT>) то есть посылал окну такую последовательность сообщений:
PostMessage(hwnd, WM_SYSKEYDOWN, 0x12, 0x20380001);
PostMessage(hwnd, WM_SYSKEYDOWN, 0x10, 0x202a0001);
PostMessage(hwnd, WM_SYSKEYUP, 0x12, 0xe0238001);
PostMessage(hwnd, WM_KEYUP, 0x10, 0xc02a0001);
(параметры сообщений я посмотрел в SPY)

И ничего не происходит. Почему? И как тогда можно решить подобную задачу. Помогите!!!!


ZEE   (2003-09-04 16:56:00) [1]

а такое не подходит?
var Layout:array [0..KL_NAMELENGTH]of char;
...
LoadKeyboardLayout(StrCopy(Layout,"00000419"),KLF_ACTIVATE); //русский
LoadKeyboardLayout(StrCopy(Layout,"00000409"),KLF_ACTIVATE); //english


Наверх

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