powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / переключить раскладку в активном окне
4 сообщений из 4, страница 1 из 1
переключить раскладку в активном окне
    #36349934
Опушкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите плз!
Нужно послать последовательность символов в активное окно из своей проги при пом. SendKeys.
Символы: цифры и латинские буквы. В активном окне раскладка - рус. Вместо латинских символов появляются русские. Очевидно нужно на время вывода переключать раскладку на англ., а потом восстанавливать рус. Можно ли как то это сделать?

В Делфи есть встроенные функции GetActiveKbdLayoutWnd и SetLayoutActiveWnd, Get... можно реализовать с пом. Win API - GetForegroundWindow, GetWindowThreadProcessId, GetKeyboardLayout, а вот Set... как сделать?

Может как то ещё решить проблемму? Напр послать текст (а не Keys) в активное окно по месту курсора (а не в Caption)?

:-(
...
Рейтинг: 0 / 0
переключить раскладку в активном окне
    #36349951
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
переключить раскладку в активном окне
    #36349980
Опушкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже переключение производится LoadKeyboardLayout KbdEn, KLF_ACTIVATE
Но переключает она раскладку в текущем процессе, т.е. в моей проге, которая работает в фоновом режиме , а в активном окне ничего не меняется. :-((
...
Рейтинг: 0 / 0
переключить раскладку в активном окне
    #36350018
Опушкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно, непонятно, почему посмотреть раскладку у чужого окна можно, а установить нельзя? А в Делфи как то из...улись?

Опыты закончились выявлением полезного глюка у SendKeys:
Если в моей проге и в активном окне приложения раскладки одинаковые (не важно рус или анг), то латинские символы передаются правильно.
Если раскладки разные, в любой комбинации - передаются как русские.

Так что я сейчас смотрю раскладку в чужом активном окне и ставлю такую же в своем процессе, и все работает.
Но радости мало :-\
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / переключить раскладку в активном окне
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]