|
|
|
|
#1 |
|
MCITP
|
Спасибо за ответ! Но вопрос в том как получить текущее значение раскладки, а не как переключить. Все эти темы я читал. То что смог найти подходит, вроде, вот это Функция GetKeyboardLayoutName извлекает данные о названии активной раскладки символов на клавиатуре....... Но вот как её использовать я пока не понял. |
|
|
|
| За это сообщение автора поблагодарили: (-1). | |
|
|
#2 |
|
Участник
|
В общем-то вот, что получилось:
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). | |
|
|
#3 |
|
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). | |
|
|
#4 |
|
Ищущий знания...
|
получилось получить текущею раскладку в числовом виде, но никак не могу перевести его на читабельный вариант. может у вас получится
![]() вот код: 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). | |
|
|
#5 |
|
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));Сейчас буду думать дальше! |
|
|
| Теги |
| законченный пример, программно, раскладка клавиатуры |
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|