1

我想知道 MSAA 是否基于 COM,那么应该能够使用 CreateObject("Accessibility") 创建一个实例并调用它的方法。我这样做没有成功。我在 SYSTEM32 中有“OLEACC.DLL”,它已在 Windows 中注册。但是 CreateObject 失败了。

有什么想法吗?

我想使用 AccessibleObjectFromPoint() 之类的函数在给定点获取控件的 IAccessible 对象。

有人有过这样的经历吗?

任何输入将不胜感激,

谢谢,

卡米尔

4

1 回答 1

2

MSAA 是基于 COM 的。但是,没有公开可共同创建的类,它只公开接口。这就是你做不到的原因CreateObject()

MSAA 公开的 APIAccessibleObjectFromPointAccessibleObjectFromWindowdll 导出的 C++ 方法类似,并且是 C++ 方法。您可以通过链接正确的库或LoadLibrary/GetProcAddress使用函数名从 C++ 中使用它们。在 C# 中,您可以从Pinvoke.net获取这些的 P/nvoke 声明。例如,这里是AccessibleObjectFromWindow.

于 2009-12-15T00:39:34.480 回答