Здравствуйте, Вячеслав.
> Вот и не пойму, как запретить установленному сегодня софту не
> использовать скрипты, написанные совсем для другой проги, при этом
> ничего не удаляя, и не сильно танцуя с бубном. Буду признателен за
> наводящие мысли.
У вас есть, как минимум, три варианта:
Во-первых, если для какого-то из этих приложений возможно изменить название
исполняемого файла, то можно это сделать и самым простым образом добиться
разрешения конфликта названий конфигураций 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
Успехов. Никита.