Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

VBS раскладка клавиатуры
Goto page Previous  1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Программное обеспечение printer-friendly view
View previous topic :: View next topic  
Author Message
MVV



Joined: 15 Oct 2009
Posts: 4655
Location: Ростов-Дон

Post (Separately) Posted: Mon Apr 08, 2013 17:54    Post subject: Reply with quote

В виндовсах по Windows 7 включительно любая вновь запущенная программа имеет раскладку по умолчанию. Её можно узнать в реестре. Далее, если она русская, то надо переключать язык только для буржуйской, если она английская - только для русской. Разумеется, уже после запуска программы, когда та получит фокус (раскладка переключается для приложения, окно которого активно). Комбинация для переключения узнаётся из того же реестра, нет необходимости туда ничего писать.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12948
Location: Москва

Post (Separately) Posted: Mon Apr 08, 2013 18:07    Post subject: Reply with quote

_D_V_S_
1) Видимо, их ещё не пугали скриптами. Дайте мне жертву! Twisted Evil Мнения начнут быстро меняться.
2) А, теперь ясно. Нужно менять после нажатия, а не до ввода, как я думал.

MVV
Состояние языка ввода отследить реестром нельзя. Какая раскладка является дефолтной - значения не имеет.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4655
Location: Ростов-Дон

Post (Separately) Posted: Mon Apr 08, 2013 18:15    Post subject: Reply with quote

Настройка языка ввода по умолчанию определяет, какая раскладка будет включена при запуске новой программы. В Win8 это вековое поведение изменено, там (если правильно помню) программа наследует язык ввода от предка.

Раздел HKEY_CURRENT_USER\Keyboard Layout\Preload, значение 1: если оно равно 0x409, язык ввода по умолчанию английский, если оно равно 0x419 - русский.

Из раздела HKEY_CURRENT_USER\Keyboard Layout\Toggle можно узнать комбинацию для переключения, значения подбираются элементарно (сменить комбинацию, применить, посмотреть значение в разделе, и так для каждого варианта, а их всего-то 4).
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12948
Location: Москва

Post (Separately) Posted: Mon Apr 08, 2013 19:27    Post subject: Reply with quote

Есть нюансы.
Может не быть новой программы, переключение может понадобиться в активном окне.
Toggle не годится, когда языков больше двух.

Если у клиентов XP, то можно KB16 RU /E и KB16 EN /E использовать.
На 7-ке какие-то косяки с командой.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
_D_V_S_



Joined: 31 Jan 2009
Posts: 33

Post (Separately) Posted: Mon Apr 08, 2013 19:42    Post subject: Reply with quote

А можно принудительно включать нужную раскладку стандартными виндузятными встроенными средствами (ну которая меняет сочетания клавиш ввода с альт+шифт на контрол+шифт и т.д.)?

По-моему там можно назначить сочетание клавиш для ввода нужной раскладки на отдельные сочетания клавиш (не смены раскладки, а именно - включения нужной. ) То есть независимо от текущего языка можно (не переключая его) включить его.

При переключении язык меняется на другой. А тут включаем русский например - если русский в системе активен, он не меняется; если английский - меняется на русский.

Есть такое в Винде, или нет?

Нельзя как-нибудь к этому подобраться средствами VBS ?

ЗЫ Сумбурно как-то объясняю, но вроде донёс мысль Smile
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12948
Location: Москва

Post (Separately) Posted: Mon Apr 08, 2013 20:11    Post subject: Reply with quote

_D_V_S_
Стандартные средства - это назначенные клавиши.
Я предложил kb16. Системы какие у клиентов?

Про назначение на каждый язык в отдельности я уже писал.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
_D_V_S_



Joined: 31 Jan 2009
Posts: 33

Post (Separately) Posted: Tue Apr 09, 2013 09:33    Post subject: Reply with quote

Flasher wrote:
_D_V_S_
Системы какие у клиентов?


Win7 (32-64) и некоторые с ХР сидят
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12948
Location: Москва

Post (Separately) Posted: Tue Apr 09, 2013 13:39    Post subject: Reply with quote

Ясно, не годится.

MVV wrote:
Раздел HKEY_CURRENT_USER\Keyboard Layout\Preload, значение 1: если оно равно 0x409, язык ввода по умолчанию английский, если оно равно 0x419 - русский.
Попробовал на XP. Ничего не даёт. Раскладка не меняется.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Tue Apr 09, 2013 15:12; edited 1 time in total
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4655
Location: Ростов-Дон

Post (Separately) Posted: Tue Apr 09, 2013 14:49    Post subject: Reply with quote

Я не предлагаю менять значение ключа. Разумеется, оболочка держит эти значения в памяти до закрытия.
Я предлагаю читать эти значения, чтобы понять, какой язык будет у программы при запуске, и при необходимости переключать его.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12948
Location: Москва

Post (Separately) Posted: Tue Apr 09, 2013 15:16    Post subject: Reply with quote

MVV wrote:
Я предлагаю читать эти значения, чтобы понять, какой язык будет у программы при запуске, и при необходимости переключать его.
Главное - это само переключение. Читать значение или не читать - не важно. Даже если делать это каждый раз, сути это не изменит. Сейчас задача переключаться на конкретный язык ввода.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4655
Location: Ростов-Дон

Post (Separately) Posted: Tue Apr 09, 2013 15:32    Post subject: Reply with quote

Ну разве это сложно? Посмотрел в реестре, Ctrl+Shift или Alt+Shift, и послал окну, если надо поменять язык.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12948
Location: Москва

Post (Separately) Posted: Tue Apr 09, 2013 15:44    Post subject: Reply with quote

Не то, чтобы сложно, но муторно. Ctrl+Shift или Alt+Shift не переключает на конкретный язык...
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4655
Location: Ростов-Дон

Post (Separately) Posted: Tue Apr 09, 2013 16:46    Post subject: Reply with quote

Если это будет запускаться на однотипных машинах, можно настроить скрипт так, чтобы переключало. Раз уж VBS не может вызвать функцию ActivateKeyboardLayout.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12948
Location: Москва

Post (Separately) Posted: Tue Apr 09, 2013 17:17    Post subject: Reply with quote

Выше писалось про разные машины.
Кто сказал, что не может? Компонент внешний просто..
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
_D_V_S_



Joined: 31 Jan 2009
Posts: 33

Post (Separately) Posted: Tue Apr 09, 2013 18:03    Post subject: Reply with quote

Flasher wrote:
Ctrl+Shift или Alt+Shift не переключает на конкретный язык...

Проверить текущую раскладку.

Если нужна другая, то СендКейз.

И перед переключением (СендКейз) - если в реестр записать конкретное сочетание клавиш (Ctrl+Shift например), чтобы сработало у кого установлено Alt+Shift ?

Правда после СендКейз в скрипте придётся его откатывать обратно...

Так разве нельзя?

ЗЫ Установил аватарку Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Программное обеспечение All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5  Next
Page 2 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group