Взаимодействие с COM и MSAA

(По материалам Freedom Scientific Developer Network)
Дата публикации:2005
Twitter Facebook Vkontakte

Ниже приведено описание встроенных функций языка сценариев JAWS для работы с объектами автоматизации (COM/OLE) и объектами MSAA (Microsoft Active Accessibility). Эти функции активно используются для работы с такими приложениями, как Microsoft InternetExplorer, пакетом Office и т.п.

Функция ActiveItemChangedEvent

Описание: Событийная функция срабатывает при смене активного элемента. Чтобы разрешить работу этой функции, необходимо параметр MSAAMode установить в значение 2 в секции [Options] конфигурационного файла для конкретного приложения ( файл с расширением.jcf). Эта функция получает следующие параметры: дескриптор окна, содержащего текущий объект, iD объекта, iD дочернего элемента, дескриптор предыдущего окна, iD предыдущего объекта и iD предыдущего дочернего элемента.

Возвращаемое значение: Void

Параметр 1:

Handle, дескриптор окна, содержащего текущий объект. Этот параметр является обязательным.

Параметр 2:

Int, iD текущего объекта. Этот параметр является обязательным.

Параметр 3:

Int, iD текущего дочернего элемента. Этот параметр является обязательным.

Параметр 4:

Handle, дескриптор окна, содержащего предыдущий объект. Этот параметр является обязательным.

Параметр 5:

Int, iD предыдущего объекта. Этот параметр является обязательным.

Параметр 6:

Int, iD предыдущего дочернего элемента. Этот параметр является обязательным.

Эта функция доступна в следующих версиях:

  1. PAC Mate 1.10 и более поздних
  2. JAWS 4.51 и более поздних

Функция CreateObject

Описание: Создаёт под контролем JAWS объекты автоматизации, например, Internet Explorer или Microsoft Office, которые являются серверами автоматизации. Существует отличие между функцией CreateObject и функцией GetObject. Функция GetObject создаёт указатель на объект автоматизации, который уже запущен и работает. Функция CreateObject создаёт (запускает) объект автоматизации.

Возвращаемое значение: Object, объект автоматизации, связанный с программой.

Параметр 1:

String, наименование COM класса, который должен вернуть реализацию объекта автоматизации. Этот параметр является обязательным.

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция CreateObjectEx

Описание: Создаёт под контролем JAWS объект автоматизации, например, Internet Explorer или Microsoft Office, которые являются серверами автоматизации. Существует отличие между функцией CreateObjectEx и функцией GetObject. Функция GetObject создаёт указатель на объект автоматизации, который уже запущен и работает. Функция CreateObjectEx создаёт (запускает) объект автоматизации.

Возвращаемое значение: Object, объект автоматизации, связанный с программой.

Параметр 1:

String, наименование COM класса, который должен вернуть реализацию объекта автоматизации. Этот параметр является обязательным.

Параметр 2:

Int, TRUE - эта функция работает так же, как CreateObject. FALSE - будет всегда использовать CoCreateInstance вместо использования GetObjectHelper, когда JAWS запущен в качестве службы (service). Этот параметр является обязательным.

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция DescriptionChangedEvent

Описание: Событийная функция срабатывает при изменении описания текущего объекта. Эта функция получает следующие параметры: дескриптор окна, содержащего текущий объект, ID объекта, ID дочернего элемента, тип объекта, старое описание объекта и текущее описание объекта.

Возвращаемое значение: Void

Параметр 1:

Handle, дескриптор окна, содержащего текущий объект. Этот параметр является обязательным.

Параметр 2:

Int, ID объекта. Этот параметр является обязательным.

Параметр 3:

Int, ID дочернего элемента. Этот параметр является обязательным.

Параметр 4:

Int, тип объекта. Этот параметр является обязательным.

Параметр 5:

String, прежнее описание объекта. Этот параметр является обязательным.

Параметр 6:

String, текущее описание объекта. Этот параметр является обязательным.

Эта функция доступна в следующих версиях:

  1. JAWS 5.00 и более поздних

Функция GetCurrentObject

Описание: Использует MSAA, чтобы получить объект, расположенный в позиции активного курсора.

Возвращаемое значение: Object, Accessible-объект, расположенный в позиции активного курсора.

Параметр 1:

Int, после возврата будет содержать ID текущего дочернего элемента. Этот параметр является обязательным.

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetFocusObject

Описание: Использует MSAA, чтобы получить объект, на котором находится фокус ввода.

Возвращаемое значение: Object, Accessible-объекта.

Параметр 1:

Int, после возврата будет содержать ID текущего дочернего элемента. Этот параметр является обязательным.

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetNativeOMFromMSAA

Описание: Эта функция использует MSAA, чтобы получить прямой указатель на объектную модель приложения (application's native object model). Это может быть использовано для доступа к MSAA, когда другие методы не дают результатов. Эта функция должна быть вызвана, когда фокус находится в основном рабочем окне, например, в окне класса Excel7 приложения Excel или в окне класса _wwg в приложении MSWord и т.д.

Возвращаемое значение: Object, указатель на объект приложения.

Параметры: отсутствуют

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetObject

Описание: Просматривает таблицу загруженных объектов COM/OLE на предмет наличия экземпляра приложения с указанным именем COM класа.

Возвращаемое значение: Object, объект автоматизации указанного COM класса.

Параметр 1:

String, COM класс, который нужно найти.Этот параметр является обязательным.

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetObjectAtPoint

Описание: Использует MSAA, чтобы получить объект с координатами X/Y.

Возвращаемое значение: Object, Accessible-объект в указанной точке.

Параметр 1:

Int, ref data (после возврата будет содержать id дочернего элемента). Этот параметр является обязательным.

Параметр 2:

Int, координата x. Этот параметр является обязательным.

Параметр 3:

Int, координата y. Этот параметр является обязательным.

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetObjectContainerHelp

Описание: Эта функция возвращает значение свойства AccDescription, которое обычно содержит описание, контейнера объектов MSAA, если они существуют

Возвращаемое значение: String, значение свойства AccDescription контейнера Accessible-объектов.

Параметры: отсутствуют

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetObjectFromEvent

Описание: Эта функция возвращает объект MSAA указанного окна. Этот объект создаётся событием MSAA.

Возвращаемое значение: Object, MSAA объект.

Параметр 1:

Handle, дескриптор окна, содержащего объект. Этот параметр является обязательным.

Параметр 2:

Int, предопределённый id объекта. Названия и значения констант см. в файле MSAAConst.jsh. Имена констант имеют префикс ObjID_. Этот параметр является обязательным.

Параметр 3:

Int, ID дочернего элемента. Этот параметр является обязательным.

Параметр 4:

Int, в официальной документации описание отсутствует (после возврата будет содержать ID дочернего элемента). Этот параметр является обязательным.

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetObjectHelp

Описание: Эта функция возвращает значение свойства AccDescription объекта MSAA, если таковой существует.

Возвращаемое значение: String, значение свойства AccDescription объекта.

Параметры: отсутствуют

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetObjectName

Описание: Если активен Pc-курсор, то функция возвращает наименование объекта, имеющего фокус ввода. В противном случае возвращается наименование объекта в позиции активного курсора.

Возвращаемое значение: String, наименование объекта в позиции активного курсора.

Параметры: отсутствуют

Эта функция доступна в следующих версиях:

  1. PAC Mate 1.10 и более поздних
  2. JAWS 4.51 и более поздних

Функция getObjectNameFromEvent

Описание: Эта функция возвращает имя специализированного объекта MSAA в указанном окне.

Возвращаемое значение: String, имя объекта, подсказка или описание (поиск ведётся в этом порядке).

Параметр 1:

Handle, дескриптор окна, содержащего объект. Этот параметр является обязательным.

Параметр 2:

Int, предопределённый id объекта. Имена констант и их значения см. в файле MSAAConst.jsh. Имена констант имеют префикс ObjID_. Этот параметр является обязательным.

Параметр 3:

Int, id дочернего элемента. Этот параметр является обязательным.

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetObjectRect

Описание: Позволяет получить границы прямоугольного фокуса объекта. Возвращает TRUE, если объект имеет прямоугольный фокус; в противном случае возвращается FALSE. Эта функция получает четыре целочисленных параметра: левый край, правй край, верхний край и нижний. Следует объявить переменные, передаваемые в качестве параметров, но не присваивать им значения, так как значения будут переданы по ссылке.

Возвращаемое значение: Int, True, если прямоугольный фокус был найден в пределах объекта; FALSE, в противном случае.

Параметр 1:

Int, координата левого края прямоугольного фокуса, окрудающего обхект. Этот параметр является обязательным.

Параметр 2:

Int, координата правого края прямоугольного фокуса, окружающего объект. Этот параметр является обязательным.

Параметр 3:

Int, координата верхнего края прямоугольного фокуса, окружающего объект. Этот параметр является обязательным.

Параметр 4:

Int, координата нижнего края прямоугольного объекта. Этот параметр является обязательным.

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetObjectState

Описание: Если активен PC-курсор, то возвращается состояние объекта, в котором расположен фокус ввода. В противном случае возвращается состояние объекта, расположенного в позиции активного курсора.

Возвращаемое значение: String, состояние объекта.

Параметры: отсутствуют

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetObjectSubtype

Описание: Возвращает подтип (subtype) объекта, расположенного в позиции активного курсора. Поскольку возвращаемое значение является строкой и зависит от языковых настроек, то эта функция должна использоваться только тогда, когда необходимо сообщить наименование подтипа объекта. В операторах сравнения (конструкции IF...ELSE...) вместо этой функции следует использовать GetObjectTypeCode, потому что она возвращает числовое значение, которое не зависит от языковых настроек.

Возвращаемое значение: String, подтип (subtype) объекта, расположенного в позиции активного курсора.

Параметры: отсутствуют

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних

Функция GetObjectSubTypeCode

Описание: Возвращает число, соответствующее подтипу (subtype) объекта, расположенного в позиции активного курсора. Константы для кодов типов начинаются с префикса WT_ и определены в файле HJCONST.JSH. Коды типов одинаковые для всех языковых настроек в JAWS. Используйте эту функцию во всех условных операторах вместо функции GetObjectType, чтобы гарантировать работоспособность скриптов при различных языковых настройках. Код подтипа (subtype) уточняет тип объекта. Например, кнопка (button) может иметь подтип (subtype) WT_CHECKBOX.

Возвращаемое значение: Int, подтип объекта, расположенного в позиции активного курсора.

Параметры: отсутствуют

Эта функция доступна в следующих версиях:

  1. JAWS 4.51 и более поздних


Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2019