MSAA на основе COM? - PullRequest
       24

MSAA на основе COM?

1 голос
/ 15 декабря 2009

Мне интересно, если MSAA основывается на COM, тогда можно использовать CreateObject («Доступность») для создания экземпляра и вызова его методов. У меня не было успеха в этом. У меня есть "OLEACC.DLL" в SYSTEM32, и он зарегистрирован в Windows. Но CreateObject не работает.

Есть мысли?

Я хотел бы использовать такие функции, как AccessibleObjectFromPoint (), чтобы получить объект IAccessible элемента управления в заданной точке.

У кого-нибудь был такой опыт?

Любой вклад будет высоко оценен,

Спасибо

Камиль

1 Ответ

2 голосов
/ 15 декабря 2009

MSAA основано на COM. Тем не менее, не существует совместно созданного класса, он предоставляет только интерфейсы. Вот почему вы не можете сделать CreateObject().

Представленные MSAA API, такие как AccessibleObjectFromPoint и AccessibleObjectFromWindow, являются экспортируемыми dll методами C ++. Вы можете использовать их из C ++, связав соответствующую библиотеку или выполнив LoadLibrary/GetProcAddress с именем функции. Из C # вы можете получить объявление P / nvoke для них из Pinvoke.net . Например, вот DllImport для AccessibleObjectFromWindow.

...