我想知道 MSAA 是否基于 COM,那么应该能够使用 CreateObject("Accessibility") 创建一个实例并调用它的方法。我这样做没有成功。我在 SYSTEM32 中有“OLEACC.DLL”,它已在 Windows 中注册。但是 CreateObject 失败了。
有什么想法吗?
我想使用 AccessibleObjectFromPoint() 之类的函数在给定点获取控件的 IAccessible 对象。
有人有过这样的经历吗?
任何输入将不胜感激,
谢谢,
卡米尔
我想知道 MSAA 是否基于 COM,那么应该能够使用 CreateObject("Accessibility") 创建一个实例并调用它的方法。我这样做没有成功。我在 SYSTEM32 中有“OLEACC.DLL”,它已在 Windows 中注册。但是 CreateObject 失败了。
有什么想法吗?
我想使用 AccessibleObjectFromPoint() 之类的函数在给定点获取控件的 IAccessible 对象。
有人有过这样的经历吗?
任何输入将不胜感激,
谢谢,
卡米尔
MSAA 是基于 COM 的。但是,没有公开可共同创建的类,它只公开接口。这就是你做不到的原因CreateObject()。
MSAA 公开的 APIAccessibleObjectFromPoint与AccessibleObjectFromWindowdll 导出的 C++ 方法类似,并且是 C++ 方法。您可以通过链接正确的库或LoadLibrary/GetProcAddress使用函数名从 C++ 中使用它们。在 C# 中,您可以从Pinvoke.net获取这些的 P/nvoke 声明。例如,这里是AccessibleObjectFromWindow.