Отправляет email-рассылки с помощью сервиса Sendsay

[TC] Конфликт скриптов jaws

Приветствую.

Первый раз за много лет столкнулся с подобным:
Установил сейчас нужную мне программу, но фишка в том, что она
использует одно и тоже имя, что и другая программа, которой аналогично
пользуюсь на постоянной основе.
Для первой программы написаны скрипты jaws, и как из всего этого
следует: вторая программа подхватывает теже самые скрипты.
Так бы всё ничего, но в скриптах jaws много сочетаний горячих клавиш, и они
перекрывают встроенные сочетания клавиш во второй программе.
Вот и не пойму, как запретить установленному сегодня софту не
использовать скрипты, написанные совсем для другой проги, при этом
ничего не удаляя, и не сильно танцуя с бубном. Буду признателен за
наводящие мысли.

Ответить   Wed, 29 May 2019 21:46:33 +0300 (#3619914)

 

Ответы:

Mai omentaina, Вячеслав!

Только ConfigNames,ini, по крайней мере, это надёжнее всего.
Даёте своей "хорошей" проге другое имя, соответственно
переименовываете скрипты и пользуетесь.

Ответить   Wed, 29 May 2019 23:58:11 +0300 (#3619932)

 

Мир вам, земляне.
Цитата:

Конец цитаты.

Не знаю на счёт бубна, но как минимум с балалайкой вам один раз потанцевать
придёться.
В той программе, для которой вы хотите загружать общую конфигурацию, два
раза быстро нажмите Insert+Q. Откроется окно с информацией. Найдите в нём
имя исполняемого файла программы. Допустим, у вас там значится Thebat.exe.
скопируйте или запомните имя файла без расширения с сохранением регистра
букв. Далее, если у вас Windows 10, откройте меню JAWS "Утилиты" и в нём
нажмите пункт "Папка с утилитами", откроется список ярлыков, нажмите ярлык
"Общие настройки". Найдите файл ConfigNames.ini и скопируйте его в папку
"Мои документы". Теперь, в папке "Мои документы" вызовите на нём контекстное
меню и нажмите "Изменить". Откроется содержимое файла, в секции
[ConfigNames] вставьте строку в нашем примере
TheBat=Default
Сохраните файл и скопируйте его обратно в папку общих настроек JAWS, заменив
исходный. Перезапустите JAWS, откройте вашу конфликтную программу и нажмите
Insert+Q. Если JAWS сообщит, что загружены настройки по умолчанию, значит
проблему вы решили. Однако, учтите две критичные вещи:
При каждом обновлении или переустановке JAWS вам придёться проделывать эту
операцию снова. Также, не в коем случае не делайте так: создали изменённую
версию файла ConfigNames.ini с прописанной строкой, сохранили в закромах, и
при каждом обновлении JAWS просто заменяете этим файлом исходный файл в
папке общих настроек JAWS. В этом случае вы убьёте все новые конфигурации,
которые появились в файле после обновления. Нужно только прописывать свою
строку в исходный файл каждый раз, когда он обновляется. Есть ещё способ
правки файла ConfigNames.ini прямо в папке настроек JAWS, без необходимости
копирования в папку документов, но тогда вам придёться запускать Блокнот от
имени администратора и открывать этот файл через диалог "Открыть",
продираясь через структуру папок на вашем диске. Первый вариант короче. Есть
ещё совсем быстрый третий вариант. Если вы умеете создавать командные файлы
cmd, то сделайте такой файл, который будет добавлять указанную строку в
нужную секцию файла ConfigNames.ini, и запускайте его при каждом обновлении
или переустановке JAWS.
--
Евгений Корнев.

Привет сообществу!

Евгений Корнев пишет:

...

...

...

...

...

Хм, я не въезжаю в сутьрецепта: человек же сказал, что две разные программы
называются одинаково с точностью до буквы, и одля одной из них у него
есть скрипты, а для другой нужно, чтоб применялась общая конфигурация
Jaws;
Если я всё правильно понимаю, правка файла ConfigNames.ini приведёт к
тому, что в той программе, для которой существуют скрипты, они
работать перестанут?
ConfigNames.ini привязывается же только к имени исполняемого файла? а
они совпадают. Вот если бы конфигурацию к ID приложения привязать или
к чему-то подобному...
Если я неправильно поняла ситуацию, расскажи, пожалуйста, в чём тут
дьявол кроется.
--
С почтением к вам и вашей технике,
Троян
?????

Ответить   Thu, 30 May 2019 16:34:38 +0500 (#3619977)

 

Мир вам, земляне.
Цитата:

Конец цитаты.
Насколько помню, в оригинальном сообщении не было сказано про то, что у двух
разных приложений абсолютно одинаковые названия исполняемых файлов. Название
загружаемой конфигурации и имя исполняемого файла - разные вещи. Например,
для документа Word 2013 и выше и сообщения Outlook Office загружается одна
конфигурация, но исполняемые файлы совершенно разные. Если даже исполняемые
файлы у приложений абсолютно одинаково называются, тогда остаётся только
править скрипты, пытаясь принудить JAWS загружать разные конфигурации в
разных приложениях, например при сравнении заголовков окна или классов
главного окна. Но здесь уже остаётся только философствовать, ибо сам автор
ничего о данных особеностях не писал.
--
Евгений Корнев.

Здравствуйте, Евгений Корнев.

потанцевать

Вы немного переусложняете работу с ConfigNames.ini. Там максимум губная
гормошка. :-)
JAWS считывает ConfigNames.ini и из пользовательской директории, и из
директории общих настроек, отрабатывая общий набор директив. Ну и директивы
файла из пользовательской директории имеют приоритет над директивами из
общей.
То есть достаточно в директории пользовательских настроек создать
ConfigNames.ini с одной единственной новой или переназначенной директивой,
чтобы просто дополнить или скорректировать ConfigNames.ini из директории
общих настроек.
Трогать руками ConfigNames.ini в общих настройках не нужно. Ну и с таким
дополняющим ConfigNames.ini в пользовательских настройках можно вполне
безопасно выполнять обновление JAWS без потери внесённых изменений.
Успехов. Никита.

Ответить   Thu, 30 May 2019 18:04:35 +0300 (#3619998)

 

Здравствуйте, Вячеслав.

У вас есть, как минимум, три варианта:

Во-первых, если для какого-то из этих приложений возможно изменить название
исполняемого файла, то можно это сделать и самым простым образом добиться
разрешения конфликта названий конфигураций JAWS.

Во-вторых, если JAWS по команде Insert+CTRL+V оказывается способен
определить версии этих приложений, и данные версии у них разные, то можно
сделать уточнённое сопоставление скриптов только для конкретной версии
приложения.
Выглядит примерно так:
Допустим общее имя приложений и соответственно конфигураций "application", а
по Insert+CTRL+V у них выявляются версии 1.0 и 2.0.
В директории пользовательских настроек JAWS следует создать файл
ConfigNames.ini и записать туда следующие строки:

[ConfigNames]
application:1=application
application:2=default

Это заставит JAWS для приложения application с версией 1 загружать
конфигурацию application, а для приложения application с версией 2 -
конфигурацию default.
С конкретной реализацией этого приёма для вашего случая экспериментируйте
самостоятельно, но суть именно такая.

В-третьих, если ничего из двух вышеприведённых вариантов невозможно, то
можно для общего имени приложений написать скрипты, в которых каким-либо
образом при загрузке определять, какое именно приложение запущено, после
чего функцией SwitchToConfiguration () активировать соответствующую
конфигурацию JAWS с каким угодно названием.
Здесь общего рецепта нет. В каждом отдельном случае надо исследовать окно
приложений на предмет поиска какого-то уникального признака, однозначно
идентифицирующего программу, допустим, имя класса корневого окна или
что-нибудь в этом роде.
Вот пример подобного расщепления конфигураций JAWS для AkelPad 3 и AkelPad
4:

Globals
string sAkelPadConfiguration

void Function AutoStartEvent ()
var
string sClass
let sClass = GetWindowClass (GetAppMainWindow (GetFocus ()))
If sClass == "AkelPad3" Then
let sAkelPadConfiguration = "AkelPad3"
SwitchToConfiguration (sAkelPadConfiguration)
ElIf sClass == "AkelPad4" Then
let sAkelPadConfiguration = "AkelPad4"
SwitchToConfiguration (sAkelPadConfiguration)
ElIf sAkelPadConfiguration Then
SwitchToConfiguration (sAkelPadConfiguration)
EndIf
EndFunction

Успехов. Никита.

Ответить   Thu, 30 May 2019 18:02:16 +0300 (#3619997)