基于MSAA COM? [英] MSAA COM-based?

查看:103
本文介绍了基于MSAA COM?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm wondering if MSAA is COM-based, then one should be able to use CreateObject("Accessibility") to create an instance and call its methods. I had no success doing that. I have "OLEACC.DLL" in SYSTEM32 and it's registered with Windows. But the CreateObject fails.

有什么想法吗?

我想使用AccessibleObjectFromPoint()之类的函数来获取

I would like to use functions like AccessibleObjectFromPoint() to get the IAccessible object of the control at the given point.

有人有这样的经验吗?

任何输入

谢谢

卡米尔

推荐答案

MSAA是基于COM的。但是,没有公开的可共同创建的类,它仅公开接口。这就是不能执行 CreateObject()的原因。

MSAA is COM based. However, there is no co-creatable class exposed, it exposes only interfaces. That's the reason you can't do CreateObject().

MSAA公开的API,例如 AccessibleObjectFromPoint AccessibleObjectFromWindow 是dll导出的C ++方法。您可以通过链接适当的lib或使用函数名称执行 LoadLibrary / GetProcAddress 从C ++使用它们。从C#中,您可以从 Pinvoke.net 获取这些的P / nvoke声明。例如,这是 AccessibleObjectFromWindow

The MSAA-exposed APIs, like AccessibleObjectFromPoint and AccessibleObjectFromWindow are dll-exported C++ methods. You can use them from C++ by linking the proper lib or doing LoadLibrary/GetProcAddress with the function name. From C#, you can get the P/nvoke declaration for these from Pinvoke.net. For example, here's the DllImport for AccessibleObjectFromWindow.

这篇关于基于MSAA COM?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆