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
_D_V_S_



Joined: 31 Jan 2009
Posts: 35

Post (Separately) Posted: Thu Apr 11, 2013 01:30    Post subject: Reply with quote

А после выполнения скрипта раскладка возвращается на прежнее место?
То есть: если до выполнения скрипта была русская например.
Выбираем ВордПад (смену на английскую) - и после закрытия вордпада она снова становится обратно русской?

Просто работает этот скрипт только с блокнотом и вордпадом.
А с теми программами, которые мне нужны - не хочет((
Одна русская раскладка в обоих.

Сижу голову ломаю - почему...

Да, моя прога запускается через "родительский", что-ли, экзешник (и он выводит консоль кстати): сначала он запускается, и после запускает второй - главный (этот - чистый Гуй...).

Да и вообще запускаться стал после того, как я закомментил:
Code:
Do : A = WSH.AppActivate(PID) : Loop Until A : WScript.Sleep 40


Вообще - тёмный лес...

Crying or Very sad
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Apr 11, 2013 08:47    Post subject: Reply with quote

_D_V_S_ wrote:
А с теми программами, которые мне нужны - не хочет((
Названия прог в студию.

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



Joined: 31 Jan 2009
Posts: 35

Post (Separately) Posted: Thu Apr 11, 2013 09:18    Post subject: Reply with quote

Flasher wrote:
Названия прог в студию.

xvm-stat.exe - родительская консольная
WorldOfTanks.exe - главная

Flasher wrote:

Что покажет, если написать в этом месте WScript.Sleep 100 : MsgBox PID ?

Тоже самое.

Flasher wrote:

Без этой стоки не будет ожидания появления окна, соответственно, клавиши нажмутся раньше времени, и язык ввода останется исходным.

Вот это вообще для меня - загадка.
Почему так? Скрипт меняет язык только для той программы, которая в нём прописана?
А нельзя сменять язык раскладки для всей системы без ожидания окна программы? То есть сменить для всех окошек?
Как если просто в системе нажать Контрол+Шифт?
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Thu Apr 11, 2013 09:37    Post subject: Reply with quote

_D_V_S_,
Язык ввода по нажатию комбинации изменяется только для окна, имеющего фокус ввода. Если активен вордпад, изменится только для него, блокнот - только для блокнота, калькулятор - только для калькулятора. Не бывает такого, чтобы активного окна не было, винда вся на окнах, рабочий стол и панель задач - тоже окна, поэтому фраза "просто в системе нажать" некорректна в корне.
_________________
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: 14229
Location: Москва

Post (Separately) Posted: Thu Apr 11, 2013 10:15    Post subject: Reply with quote

_D_V_S_ wrote:
xvm-stat.exe - родительская консольная
WorldOfTanks.exe - главная
Мда.. Люди, о которых шла речь, - геймеры? Это они-то exe-шников боятся? Laughing
К сожалению, метод AppActivate не возвращает True c консольных окон.
Тут придётся пользоваться банальной задержкой.
А вот с танками я экспериментировать не имею желания. Полагаю, что поле ввода в его окне появляется ой как не сразу. Отсюда и проблемы. Вычислить, когда оно появится, с помощью стандартных методов не представляется возможным. Расчёт же данного скрипта идёт на окна, где фокус ввода возникает сразу или почти сразу при запуске окна приложения.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
_D_V_S_



Joined: 31 Jan 2009
Posts: 35

Post (Separately) Posted: Thu Apr 11, 2013 12:09    Post subject: Reply with quote

Flasher wrote:
Мда.. Люди, о которых шла речь, - геймеры? Это они-то exe-шников боятся? Laughing

Боятся пуще остальных Smile
Ибо вкладывают постоянно реальные деньги в игру, и трясутся кражи аккаунтов. В каждом экзешнике видят по меньшей мере трояна )))

Добавлено спустя 2 минуты:

Ну что-ж, если нет желания - то ничего не попишешь...

Всё равно огромное спасибо за уделённое мне время!
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Apr 11, 2013 13:23    Post subject: Reply with quote

_D_V_S_ wrote:
если нет желания - то ничего не попишешь
Установкой абы каких игр не балуюсь. В мои личные интересы (да и не только мои) подобные операции не входят по ряду "религиозных" причин. Мотивация хоть какая-то должна быть.
WSH для таких нужд не годится. Рекомендую пользоваться средствами для этого более подходящими (AHK, AutoIt), дать на них ссылки с офф. сайта людям, чтобы не пужались и почитали, что в этих exe-шниках нет ничего страшного. Задача на форумах с обсуждением этих языков решится куда быстрее. Мутить воду в ступе с чужой паранойей - недальновидное занятие. Не та это жертва, чтобы возыметь описанные удобства.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
DrShark



Joined: 21 Oct 2006
Posts: 911
Location: Kyiv, Ukraine

Post (Separately) Posted: Sun Apr 30, 2017 18:01    Post subject: Reply with quote

Flasher wrote:
как-то так
У меня просьба помочь с адаптацией скрипта под следующую задачу.
Нужна принудительная установка английской раскладки в командной строке TC, для дальнейшей вставки команд (напр. CD) с помощью SendKeys.
Попробовал приспособить скрипт для этой цели, сократив нижнюю часть скрипта (после Select Case Language ... End Select) так:
Code:
' Установка фокуса на TC cmdline:
  WSH.SendKeys "{Right}{Home}"
  ' Вычисляем требуемое кол-во нажатий хоткея переключения раскладки:
'  If RUS = 1 Then Count = 0 Else Count = Lang - 1
  If ENG = 1 Then Count = 0 Else Count = Lang - 1
  ' Нажимаем хоткей смены языка нужное число раз:
  If Count Then : For n = 1 To Count : WSH.SendKeys HK : Next : End If
' Выгружаем скрипт:
Set Dict = Nothing : Set WSH = Nothing : WScript.Quit

Но в таком виде скрипт не меняет раскладку, т.к. похоже не получает текущую раскладку окна TC.
_________________
"the light is coming to give back everything the darkness stole"
—©@AG4


Last edited by DrShark on Sun Apr 30, 2017 22:46; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sun Apr 30, 2017 19:40    Post subject: Reply with quote

DrShark wrote:
Нужна принудительная установка английской раскладки в командной строке TC
При обновлённой версии vbscript.dll (поставляемой с IE 11) она вроде бы всегда английская.
DrShark wrote:
для дальнейшей вставки команд (напр. CD) с помощью SendKeys.
Зачем? Чем cd из кнопки/юзеркоманды не устраивает?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
DrShark



Joined: 21 Oct 2006
Posts: 911
Location: Kyiv, Ukraine

Post (Separately) Posted: Sun Apr 30, 2017 22:40    Post subject: Reply with quote

Flasher wrote:
DrShark wrote:
для дальнейшей вставки команд (напр. CD) с помощью SendKeys.
Зачем? Чем cd из кнопки/юзеркоманды не устраивает?
У каждого метода есть свои преимущества и недостактки, в том числе и у командой строки, которая активируется по клавише "Стрелка вправо" и имеет разные виды автодополнения. Кнопка вызова скрипта внизу вертикалной панели кнопок, который вставляет команду CD с последующим пробелом в начало ком. строки, для меня сделает этот инстумент комфортнее и эффективнее в использовании.
Flasher wrote:
При обновлённой версии vbscript.dll (поставляемой с IE 11) она вроде бы всегда английская.
У меня Vista с IE 9, и вообще хотелось бы иметь максимально универсальное и совместимое решение.
_________________
"the light is coming to give back everything the darkness stole"
—©@AG4
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sun Apr 30, 2017 23:49    Post subject: Reply with quote

DrShark wrote:
которая активируется по клавише "Стрелка вправо"
Это только в режимах "Подробный" и "Комментарии", иначе по Shift + Влево/Вправо, если включён режим быстрого поиска без модификаторов, отключающий активацию комстроки при наборе текста. Поэтому универсальностью тут не пахнет.
DrShark wrote:
для меня сделает этот инстумент комфортнее и эффективнее в использовании.
В каком отношении? Набирать путь можно сразу в строке заголовка панели (2912/$B60/cm_EditPath), переходить к нужному объекту проще из меню избранных каталогов.
Если подразумевается Alt+F8, то мне не видится этот способ навигации более удобным.

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



Joined: 21 Oct 2006
Posts: 911
Location: Kyiv, Ukraine

Post (Separately) Posted: Sun Apr 30, 2017 23:57    Post subject: Reply with quote

2Flasher
Я попросил помочь с адаптацией скрипта, а вы навязываете дискуссию об удобстве тех или иных инструментов TC. У каждого здесь личные предпочтения. Если нет желания адаптировать скрипт, напишите прямо, и на том спасибо.
_________________
"the light is coming to give back everything the darkness stole"
—©@AG4
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon May 01, 2017 00:33    Post subject: Reply with quote

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



Joined: 21 Oct 2006
Posts: 911
Location: Kyiv, Ukraine

Post (Separately) Posted: Mon May 01, 2017 01:15    Post subject: Reply with quote

Flasher wrote:
А VBScript в данном случае - это не инструмент ТС?
Важно то, что это встроенный инструмент Windows.
Flasher wrote:
адаптировать данный скрипт ... у меня сейчас нет ни ресурсов ни времени.
OK. Если кратко, почему не работает моя адаптация кода? Чего не хватает? Дальше я сам.
_________________
"the light is coming to give back everything the darkness stole"
—©@AG4
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon May 01, 2017 01:35    Post subject: Reply with quote

DrShark wrote:
Важно то, что это встроенный инструмент Windows.
Не понимаю, что это меняет? ТС вообще пустой? Без плагинов, утилит и т.п.?
DrShark wrote:
OK. Если кратко, почему не работает моя адаптация кода?
Так ответ уже есть:
DrShark wrote:
похоже не получает текущую раскладку окна TC
Именно так и есть. А тут разбирался вариант смены языка ввода при первом обращении к окну приложения.
Название скрипта: "Запуск редакторов с переключением языка ввода на нужный".
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
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 4 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