Имя: Пароль:
1C
 
Возможно ли определить текущий язык раскладки клавиатуры
0 AndreYAN
 
31.08.07
15:22
Необходимо определить какой текущий язык клавиатуры, штатная языковая панель не загружается, такая настройка терминального сервака, прочий софт тоже, критична загрузка оперативки, вот и возникает вопрос можно ли в 1Ске определить раскладку клавиатуры?!
1 Андрюха
 
31.08.07
15:24
Штатно - не знаю, а через ВК можно легко.
2 AndreYAN
 
31.08.07
15:26
А можно поподробнее...
3 AndreYAN
 
31.08.07
15:27
где эту компоненту взять?
4 Денежко
 
31.08.07
15:32
Функция  ПереключитьРаскладкуDW(Имя) Экспорт
   //возврат Ложь-значит есть ошибки
   Попытка    
       Wrapper = new COMobject("DynamicWrapper");
       Wrapper.Register("USER32.DLL", "ActivateKeyboardLayout", "i=ll", "f=s", "r=l");
       Wrapper.Register("USER32.DLL", "LoadKeyboardLayout", "i=sl", "f=s", "r=t");
       
   Исключение
       Возврат Истина;
   КонецПопытки;
   
   SRus = "00000419";
   SEng = "00000409";
   
   NRus = 1049;
   NEng = 1033;
   
   Попытка
       Если Нрег(Имя) = Нрег("Rus") тогда
           Wrapper.LoadKeyboardLayout(SRus, 1);
           Wrapper.ActivateKeyboardLayout(NRus, 0);    
       Иначе    
           Wrapper.LoadKeyboardLayout(SEng, 1);
           Wrapper.ActivateKeyboardLayout(NEng, 0);    
       КонецЕсли;
       возврат Ложь;
   Исключение
       Возврат Истина;
   КонецПопытки;
КонецФункции
5 Денежко
 
31.08.07
15:33
Делал такое как раз для терминала!поищи это длл в инете!
6 AndreYAN
 
31.08.07
15:34
Спасибо за инфу, обязательно поищу.
7 Salvador Limones
 
31.08.07
15:36
Можно и без ВК, а через WMI
8 Андрюха
 
31.08.07
15:36
(4) О, обошлись без ВК. Супер!
9 Salvador Limones
 
31.08.07
15:39
(8) Почему же без ВК? А Dynwrap.dll что?
http://www.script-coding.info/dynwrap.html
10 Андрюха
 
31.08.07
15:43
Иелось в виду самописко
11 AndreYAN
 
31.08.07
15:55
Ругается:
{ВнешняяОбработка.ПереключательРаскладки(5)}: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса
12 Salvador Limones
 
31.08.07
16:00
(11) Значит враппера не зарегистрировал.
13 AndreYAN
 
31.08.07
16:49
да точно :)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший