Управление режимом ввода с клавиатуры ? #102486


#0 by Metaller
собственно необходимо, желательно консольной командой, переключать(проверять) режим ввода с клавиатуры (EN/RU).....необходимо это для 1C, в режиме ввода серийных номеров со сканера в разрыв клавиатуры, т.е. нужно переключать раскладку, чтобы не происходил ввод в русской кодировке...У кого какие мысли есть по этому поводу ???
#1 by sdaf
через ВК делал
#2 by АЛьФ
2 Так пусть происходит ввод в любой кодировке, а ты уже после окончания редактирования этого поля переводи значение в нужную кодировку.
#3 by sdaf
SendKeys(<?>);Синтаксис:SendKeys(<клавиши>);Назначение:Посылает последовательность клавиш в активное окно, как если бы они были нажаты в нем пользователем. Возвращает 1 в случае успеха, 0 в случае неудачи.Параметры:<клавиши> - строка, содержащая последовательность клавиш.Каждая клавиша представлена одним или более символом. Чтоб задать простой клавиатурный символ, используйте его самого. Например, чтобы задать 'А', используйте 'А'в качестве параметра.Чтобы задать больше, чем один символ, добавляйте каждый дополнительный символ к предыдущему. Например, чтобы задать символы А, B и С, используйте 'ABC'.Символы '+' ,'^', '%',' ~','(',')' имеют специальные значения. Чтобы задать один из этих символов, заключите их в фигурные скобки '{}'. Например, чтобы задать 'плюс', используйте {+}.Квадратные скобки '[]' не имеют специального значения, но вы должны заключать их в фигурные скобки. Чтобы задавать сами фигурные скобки, используйте '{{}' и '{}}'.Чтобы задавать клавиши, которые не отображаются на экране (напр. ENTER или TAB), используйте приведенные ниже коды: DEL или DELETE - {DELETE} или {DEL}INS или INSERT - {INS}Fx - {Fx}Чтобы задать комбинацию клавиш с использованием SHIFT, CTRL и ALT, используйте следующие коды:клавиша - кодALT - %Чтобы задать, что SHIFT, CTRL, и ALT должны быть в нажатом положении во время нажатия других клавиш,заключите коды этих других клавиш в скобки. Например, чтобы задать, что SHIFT находится в нажатом положении во время нажатия E и C, используйте '+(EC)'.Чтобы задать, что Е нажата с SHIFT, а С уже без, используйте '+EC'. Чтобы задать повторение клавиш используйте форму {клавиша число}.Обязателен пробел между кодом клавиши и числом. Например, {LEFT 42} означает нажатие ВЛЕВО 42 раза; {h 10} означает нажатие h 10 раз.
#5 by Metaller
2 sdafтак а что за ВК ? как называется, где взять ?да и собственно мне кажется что самым простым способом остается всетаки системно переключать разскладку...
#6 by Diter
Откуда дровишки? Чего это за метод?
#8 by sdaf
1C:Addon 1.05
#9 by Metaller
2 SadovnikovСпасибо, NetaTable решает задачу !
#10 by smaharbA
АЛьФ даже свои компоненты не стал рекламировать, подсказал тебе, отслеживай после ввода КодСимв и если не те то корректируй посмотри аск 0-255 и конвертируй что надо и во что надо, и ненужно никаких ВК, уневерсальнее, ВК надо применять только тогда когда через "стандартые" средства 1Сэ невыходит или выходит "дурдом"
#11 by Prosto
Как пользоваться SendKeys? К чему привязывать?
#13 by АЛьФ
Эх!... ЭмулироватьКлавиатуру(<?>,)SendKeys(<?>,)Синтаксис:ЭмулироватьКлавиатуру(<Строка>,<Ждать>)Назначение:Метод предназначен для программной эмуляции нажатий кнопок на клавиатуре.Параметры:<Строка> - строка для отсылки в буфер клавиатуры (подробнее см. документацию по методу SendKeys из WSH);<Ждать> - необязательный флаг: 1 - продолжать программу только после обработки сообщения клавиатуры Windows; 0 - продолжить выполнение, не дожидаясь обработки сообщения (по умолчанию).Пример:
#14 by smaharbA
АЛьФ тыж сам в сказал "Так пусть происходит ввод в любой кодировке", что никто никогда не писалл всяческие упперы и ловеры? Или счас лучче когда подсунул ВК, скрипт и тп, и забыл, но ведь их ВК, скриптов станет стока что мама не горюй...
#15 by АЛьФ
2 Ну если человек не прислушивается к совету, то почему бы не попиарить немного свою разработку? :)
#17 by АЛьФ
2 Эээээ... Ты просишь от меня материал по взлому моей защиты?
#18 by smaharbA
да, нет материал по созданию ;) твоей защиты ;)
#19 by АЛьФ
2 Ага... Понятно... Смешно...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С