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

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

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

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

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

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


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