我们公司有一个测试IC卡的频率的软件,每次测试结果在右上角固定位置探出一个小白框,上面就写了那些测试数据。 
现在是想把这些测试数据给纪录下来写进Excel,如果用手工抄写的话工作量太大,而整个软件加硬件均为进口,无任何接口或说明,服务路径也已经找不到了。请各位不吝赐教,我怎么才能得到这些文字呢?
  我上一次已经提过这个问题,承蒙大家帮助,能找到窗口并得到一部分窗口的标题内容了。而上面提到的那个小白框可能没有标题,数据可能有点像ListBox一样算是内容了。小白框的基本信息:类名:TPanel   所属组件包名称:Borland Standard Components  控件描述描述:Borland 面板控件。
   再请各位指点!另如何得到该软件中按钮被按下的事情。

解决方案 »

  1.   

    FindWindow
    GetWindowText
    就可以了
      

  2.   

    GetwindowText得不到这个窗口的内容啊,其他的如窗口类是Tbutton的就得到了。
      

  3.   

    先用VC附带的SPY++查出控件的类名,在程序中先FindWindow找出目标窗口,再用FindWindowEx(对多层嵌套的控件需要Find多次,逐层进入),最后用SendMessage发WM_GETTEXT消息获取文字。
      

  4.   

    我用spy++查出控件结果如是:类名:TPanel   所属组件包名称:Borland Standard Components  控件描述描述:Borland 面板控件。用EnumWindowsProc( HWND   hwnd,  LPARAM   lParam)查找到了该控件。但是用WM_GETTEXT消息也好,用GetWindowText()也好,只能得到窗口标题消息,得不到他的内容。就如得不到msn聊天内容一样。
      

  5.   

    用WM_GETTEXT要发对控件,如果发给窗口当然就得到窗口标题了。
    另外,一些控件显示的文字不是WindowText,对于这种类型的控件就不能用这种方法。先用SPY++看能否找出你想要的文字,如果SPY++能找到,用WM_GETTEXT就也能得到。
      

  6.   

    “这个窗口的文本内容无法读取,抱歉。
    可能是[Spy4Win]不认识或没有可以读取的内容:
    ---------------------
    TPanel”用spy++找不到文字,那用WM_GETTEXT还能得到吗?
    如果不能用什么办法呢?
      

  7.   

    如果用spy++找不到文字,那就不能用WM_GETTEXT了。
    这种情况要取文字就不容易了。你可以试试用Hook方法拦截TextOutW函数。
      

  8.   

    好的,我就再学一下那个吧,另外能给我一些关于hook的学习网站吗?