VBS раскладка клавиатуры
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5  Next  :| |:
Total Commander -> Программное обеспечение

#46:  Author: _D_V_S_ PostPosted: Thu Apr 11, 2013 01:30
    —
А после выполнения скрипта раскладка возвращается на прежнее место?
То есть: если до выполнения скрипта была русская например.
Выбираем ВордПад (смену на английскую) - и после закрытия вордпада она снова становится обратно русской?

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

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

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

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


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

Crying or Very sad

#47:  Author: FlasherLocation: Москва PostPosted: Thu Apr 11, 2013 08:47
    —
_D_V_S_ wrote:
А с теми программами, которые мне нужны - не хочет((
Названия прог в студию.

_D_V_S_ wrote:
Да и вообще запускаться стал после того, как я закомментил:
Без этой стоки не будет ожидания появления окна, соответственно, клавиши нажмутся раньше времени, и язык ввода останется исходным.
Что покажет, если написать в этом месте WScript.Sleep 100 : MsgBox PID ?

#48:  Author: _D_V_S_ PostPosted: Thu Apr 11, 2013 09:18
    —
Flasher wrote:
Названия прог в студию.

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

Flasher wrote:

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

Тоже самое.

Flasher wrote:

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

Вот это вообще для меня - загадка.
Почему так? Скрипт меняет язык только для той программы, которая в нём прописана?
А нельзя сменять язык раскладки для всей системы без ожидания окна программы? То есть сменить для всех окошек?
Как если просто в системе нажать Контрол+Шифт?

#49:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Apr 11, 2013 09:37
    —
_D_V_S_,
Язык ввода по нажатию комбинации изменяется только для окна, имеющего фокус ввода. Если активен вордпад, изменится только для него, блокнот - только для блокнота, калькулятор - только для калькулятора. Не бывает такого, чтобы активного окна не было, винда вся на окнах, рабочий стол и панель задач - тоже окна, поэтому фраза "просто в системе нажать" некорректна в корне.

#50:  Author: FlasherLocation: Москва PostPosted: Thu Apr 11, 2013 10:15
    —
_D_V_S_ wrote:
xvm-stat.exe - родительская консольная
WorldOfTanks.exe - главная
Мда.. Люди, о которых шла речь, - геймеры? Это они-то exe-шников боятся? Laughing
К сожалению, метод AppActivate не возвращает True c консольных окон.
Тут придётся пользоваться банальной задержкой.
А вот с танками я экспериментировать не имею желания. Полагаю, что поле ввода в его окне появляется ой как не сразу. Отсюда и проблемы. Вычислить, когда оно появится, с помощью стандартных методов не представляется возможным. Расчёт же данного скрипта идёт на окна, где фокус ввода возникает сразу или почти сразу при запуске окна приложения.

#51:  Author: _D_V_S_ PostPosted: Thu Apr 11, 2013 12:09
    —
Flasher wrote:
Мда.. Люди, о которых шла речь, - геймеры? Это они-то exe-шников боятся? Laughing

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

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

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

Всё равно огромное спасибо за уделённое мне время!

#52:  Author: FlasherLocation: Москва PostPosted: Thu Apr 11, 2013 13:23
    —
_D_V_S_ wrote:
если нет желания - то ничего не попишешь
Установкой абы каких игр не балуюсь. В мои личные интересы (да и не только мои) подобные операции не входят по ряду "религиозных" причин. Мотивация хоть какая-то должна быть.
WSH для таких нужд не годится. Рекомендую пользоваться средствами для этого более подходящими (AHK, AutoIt), дать на них ссылки с офф. сайта людям, чтобы не пужались и почитали, что в этих exe-шниках нет ничего страшного. Задача на форумах с обсуждением этих языков решится куда быстрее. Мутить воду в ступе с чужой паранойей - недальновидное занятие. Не та это жертва, чтобы возыметь описанные удобства.

#53:  Author: DrSharkLocation: Kyiv, Ukraine PostPosted: Sun Apr 30, 2017 18:01
    —
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.


Last edited by DrShark on Sun Apr 30, 2017 22:46; edited 1 time in total

#54:  Author: FlasherLocation: Москва PostPosted: Sun Apr 30, 2017 19:40
    —
DrShark wrote:
Нужна принудительная установка английской раскладки в командной строке TC
При обновлённой версии vbscript.dll (поставляемой с IE 11) она вроде бы всегда английская.
DrShark wrote:
для дальнейшей вставки команд (напр. CD) с помощью SendKeys.
Зачем? Чем cd из кнопки/юзеркоманды не устраивает?

#55:  Author: DrSharkLocation: Kyiv, Ukraine PostPosted: Sun Apr 30, 2017 22:40
    —
Flasher wrote:
DrShark wrote:
для дальнейшей вставки команд (напр. CD) с помощью SendKeys.
Зачем? Чем cd из кнопки/юзеркоманды не устраивает?
У каждого метода есть свои преимущества и недостактки, в том числе и у командой строки, которая активируется по клавише "Стрелка вправо" и имеет разные виды автодополнения. Кнопка вызова скрипта внизу вертикалной панели кнопок, который вставляет команду CD с последующим пробелом в начало ком. строки, для меня сделает этот инстумент комфортнее и эффективнее в использовании.
Flasher wrote:
При обновлённой версии vbscript.dll (поставляемой с IE 11) она вроде бы всегда английская.
У меня Vista с IE 9, и вообще хотелось бы иметь максимально универсальное и совместимое решение.

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

Что касается более грамотного способа вставки, то советую сюда обратиться.

#57:  Author: DrSharkLocation: Kyiv, Ukraine PostPosted: Sun Apr 30, 2017 23:57
    —
2Flasher
Я попросил помочь с адаптацией скрипта, а вы навязываете дискуссию об удобстве тех или иных инструментов TC. У каждого здесь личные предпочтения. Если нет желания адаптировать скрипт, напишите прямо, и на том спасибо.

#58:  Author: FlasherLocation: Москва PostPosted: Mon May 01, 2017 00:33
    —
DrShark
А VBScript в данном случае - это не инструмент ТС? Я всегда предлагаю тот инструмент, который с позиции моего опыта лучше для этого подходит. Если так сильно брезгуете 20 Кб-ой утилитой, то так и напишите.
А чтобы мне адаптировать данный скрипт (без подключения стороннего компонента) под все потенциальные системы, мне придётся проверить кучу комбинаций из версии ОС, библиотеки и интерпретатора, на что у меня сейчас нет ни ресурсов ни времени.

#59:  Author: DrSharkLocation: Kyiv, Ukraine PostPosted: Mon May 01, 2017 01:15
    —
Flasher wrote:
А VBScript в данном случае - это не инструмент ТС?
Важно то, что это встроенный инструмент Windows.
Flasher wrote:
адаптировать данный скрипт ... у меня сейчас нет ни ресурсов ни времени.
OK. Если кратко, почему не работает моя адаптация кода? Чего не хватает? Дальше я сам.

#60:  Author: FlasherLocation: Москва PostPosted: Mon May 01, 2017 01:35
    —
DrShark wrote:
Важно то, что это встроенный инструмент Windows.
Не понимаю, что это меняет? ТС вообще пустой? Без плагинов, утилит и т.п.?
DrShark wrote:
OK. Если кратко, почему не работает моя адаптация кода?
Так ответ уже есть:
DrShark wrote:
похоже не получает текущую раскладку окна TC
Именно так и есть. А тут разбирался вариант смены языка ввода при первом обращении к окну приложения.
Название скрипта: "Запуск редакторов с переключением языка ввода на нужный".



Total Commander -> Программное обеспечение


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4, 5  Next  :| |:
Page 4 of 5

Powered by phpBB © 2001, 2005 phpBB Group