首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对旧的第三方控件使用UI自动化

对旧的第三方控件使用UI自动化
EN

Stack Overflow用户
提问于 2012-02-21 16:14:14
回答 1查看 919关注 0票数 3

是否有开箱即用的方法为不支持UI自动化的第三方控件创建UI自动化提供程序?

我的问题:我尝试使用VsFlexGrid ActiveX控件自动化vb6应用程序,但无法访问它的属性和方法。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-23 04:04:11

它是possible, but it's a lot of work,并不是在所有情况下都合适。

关键要求是目标控件:

  • 有自己的HWND,最好有一个众所周知且稳定的类名
  • 有一种定义良好的方式来从另一个进程与该控件通信。使用某些windows消息集的控件(如Win32公共控件)属于这一类,MS Internet Explorer控件等控件也属于这一类,该控件公开了一个扩展的接口windows

但是,如果控件无法通过某种方式从外部访问其信息,那么UI自动化将不会有太大帮助: UIA在这里所做的只是允许您将适配器类插入到其现有框架中;但它并没有为您提供任何新的或额外的工具来处理获取底层信息的问题。

旧的VB时代的ActiveX控件是一种挑战:如果您可以访问窗体上的一个控件,则可以使用各种COM接口导航到该窗体上的其他控件并访问它们的属性。但问题是,您不能从另一个进程轻松地做到这一点。而且,这些ActiveX控件中很少(如果有的话)支持任何类型的windows消息,因为它们假定客户端代码将使用COM接口。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9374171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档