VB如何控制其它程序的ACTIVEX控件,
比如
有个 程序A(不能修改),是 用 VB写的 ,里面使用 了1个ActiveX控件。在 另外1个VB写的B程序中,如何 控制 A程序中的ActiveX控件:读取ActiveX控件的属性、方法 、写属性等。。  

解决方案 »

  1.   

    可以参考此贴《MS Active Accessibility 接口技术编程尝试》,地址:http://www.vckbase.com/document/viewdoc/?id=883
      

  2.   

    3楼的,MSAA方法行不通的,因为是ActiveX控件,非标准控件,没有提供IAccessible接口,使用微软Accexplorer32.exe 也没法识别出任何有效信息。
      

  3.   

    我的意思是如果控件是你自己开发的,则可以继承IAccessible接口,为自己的ActiveX控件实现相关属性。如果是别人开发的且没有继承IAccessible接口,那就难办了,最简单的是发送消息进行控件,如果还实现不了,则使用远程内存指针获得控件的容器窗口的指针,然后以远程线程的形式访问此控件。
      

  4.   

    没明白,activex控件怎么是属于某个程序的?active是啥意思?
      

  5.   


    看来只能用 ‘远程线程的形式’。 我用VB在目标程序中注入了,接下来怎么访问控件?是不是要使用VC写个DLL才行,VB的dll好象不行???
      

  6.   

    to lyserver
    请问你有相关的例子没有。能否给我1份??([email protected])、谢谢
      

  7.   

    既然是ACTIVEX控件,那么在注册了这个控件的机器上的任何程序都是可以使用的(除非有权限问题),你打开VB工具箱添加控件的时候就会发现很多各种各样的控件,这些你所不知道的控件有很大一部分都是安装了其它软件以后出现的(而且不论是否由VB写的控件). 你只要知道这些控件的使用方法(无非是属性,事件和方法)之后就能象VB自己的控件一样来使用了