|
![]() |
#1 |
Ищущий знания...
|
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#2 |
MCITP
|
Спасибо за ответ! Но вопрос в том как получить текущее значение раскладки, а не как переключить. Все эти темы я читал. То что смог найти подходит, вроде, вот это Функция GetKeyboardLayoutName извлекает данные о названии активной раскладки символов на клавиатуре....... Но вот как её использовать я пока не понял. |
|
|
За это сообщение автора поблагодарили: (-1). |
![]() |
#3 |
Участник
|
В общем-то вот, что получилось:
X++: server static void getLanguage() { dll dll = new dll("user32"); dllFunction GetKeyboardLayout = new dllFunction(dll, "GetKeyboardLayout"); #define.RU("68748313") #define.EN("67699721") ; GetKeyboardLayout.arg(ExtTypes::DWORD); GetKeyboardLayout.returns(ExtTypes::DWORD); if(value2string(GetKeyboardLayout.call(0)) == #RU) { info("RU"); } else { info("EN"); } }
__________________
С уважением, Александр. Последний раз редактировалось samolalex; 11.11.2010 в 18:17. |
|
|
За это сообщение автора поблагодарили: GBH (1). |
![]() |
#4 |
MCITP
|
Цитата:
Сообщение от samolalex
![]() В общем-то вот, что получилось:
X++: server static void getLanguage() { dll dll = new dll("user32"); dllFunction GetKeyboardLayout = new dllFunction(dll, "GetKeyboardLayout"); #define.RU("68748313") #define.EN("67699721") ; GetKeyboardLayout.arg(ExtTypes::DWORD); GetKeyboardLayout.returns(ExtTypes::DWORD); if(value2string(GetKeyboardLayout.call(0)) == #RU) { info("RU"); } else { info("EN"); } } Всем огромное спасибо. Тему можно закрывать. P.S. Только вместо value2string использовать надо int2str Последний раз редактировалось GBH; 11.11.2010 в 18:41. Причина: Поправка |
|
|
За это сообщение автора поблагодарили: zZ_TOP_Zz (1), kornix (3). |
![]() |
#5 |
Ищущий знания...
|
получилось получить текущею раскладку в числовом виде, но никак не могу перевести его на читабельный вариант. может у вас получится
![]() вот код: X++: DLL DLL; DLLFunction DLLFunction; ; #WinAPI DLL = new DLL('user32.dll'); DLLFunction = new DLLFunction(DLL,'GetKeyboardLayout'); DLLFunction.arg(ExtTypes::DWord); DLLFunction.returns(ExtTypes::DWord); info(DLLFunction.call(0));
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 11.11.2010 в 18:16. |
|
|
За это сообщение автора поблагодарили: GBH (1). |
![]() |
#6 |
MCITP
|
Цитата:
Сообщение от lev
![]() получилось получить текущею раскладку в числовом виде, но никак не могу перевести его на читабельный вариант. может у вас получится
![]() вот код: X++: DLL DLL; DLLFunction DLLFunction; ; #WinAPI DLL = new DLL('user32.dll'); DLLFunction = new DLLFunction(DLL,'GetKeyboardLayout'); DLLFunction.arg(ExtTypes::DWord); DLLFunction.returns(ExtTypes::DWord); info(DLLFunction.call(0)); Сейчас буду думать дальше! |
|
Теги |
законченный пример, программно, раскладка клавиатуры |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|