用MFC开发的ActiveX控件,里面包含一些基本控件,按钮、文本框之类,
尝试用SPY++,拿不到具体控件的句柄,只能拿到整个ActiveX控件的句柄,
尝试利用FindWindow和EnumChildWindows,都一样拿不到,
还有别的方法吗?

解决方案 »

  1.   

    你拿到的句柄只是一个容器窗口的句柄,到了容器内部就只有com接口了。
      

  2.   

    这个可以,含源代码
    Focus Flasher
    http://www.viksoe.dk/code/focusflasher.htm
      

  3.   

    To ouyh12345:具体一点怎么做?To eduyu:down来看了,还是只能拿到ocx容器本身的句柄,再往下一层就不行了。:)To wshcdr:当然咯,连QTP(Quick Test Professional)都做不到呢。
      

  4.   

    To guti_milan:当然不是我自己写的东西了。:)
      

  5.   

    To jameshooo:我自己写的MFC控件也一样拿不到,
    例如OCX里面包含诸多label、edit、button之类的基础控件。、
    比如说用QTP测试的时候,希望能测试每个基础控件的行为,但是做不到。
      

  6.   

    看这个图,连Delphi做的ActiveX里面的edit的hwnd都得到了,你的怎么这么奇怪?
    http://static7.photo.sina.com.cn/orignal/4db96fa5441bcf1180db6
      

  7.   

    谢谢eduyu,你的图片我看到了,确实。
    不过我这边一些ocx看来是没办法了。
    只能拿到整个ocx的句柄,
    控件名称显示为“AfxOleControl70”,
    也就只能到达这一级别,不能再向下细分了。
    这些ocx都是基于mfc的。
      

  8.   

    在这点上Delphi和MFC做的会有区别吗?想不通哦,发个控件给我试下。
    iamduyu#gmail.com