先是通过FindWindow 函数找到这个窗体
然后通过EnumChildWindows函数枚举了这个窗体所有的控件我想得到EDIT这个控件上的内容 应该怎么实现呢?

解决方案 »

  1.   


    1、发送【WM_GETTEXTLENGTH】消息获取字符串长度;2、发送【WM_GETTEXT】消息获取字符串。
      

  2.   

    估计是SendMessage   WM_GETTEXT 之类的
      

  3.   

       SendMessage(hwnd,
          WM_GETTEXT,
          STRINGLEN,buf);
      

  4.   

    可以试试5楼的方法,如果不行就得注入线程或者SetWindowsHookEx了。
      

  5.   

    如果包括EDIT这个控件的是个对话框,不就GetDlgItem就行了?估计lz的问题没这么简单吧?
      

  6.   

    使用SendMessage可以获取,只要有相应的句柄,但也会有例外
      

  7.   

    我是想获得其他对话框中EDIT的内容
      

  8.   

    如果两个程序都是你写的,可以考虑用进程间通信,传Data
      

  9.   

    好像比较难取得,刚写了段代码,按照LZ的做法,可以取到Button,Static,就是没办法取到Edit的.
    呵呵,看来偶还差点.
      

  10.   

    枚举窗口的时候可以先判断是否是EDIT,例如:if(pWnd->IsKindOf(RUNTIM_CLASS(CEdit)))
    {
     CString str;
     pWnd->GetWindowText(str);
    }
      

  11.   

    binglingshuang 说的没错  只能得到Button 不能得到Edit
    我能判断到Edit但就是不能获得我输入的内容如果在设计时将Edit赋值为 "Hello"那么 通过
    GetWindowText这个API函数就能得到但是如果是我在运行时 手工输入的值 就不能得到
      

  12.   

    5楼的方法可以的,Lz不要用GetWindowText, 用SendMessage(edit句柄,WM_GETTEXT, 最大字符串长度, (LPARAM)buf)
    //buf是字符数组,比如char buf[MAX_PATH]什么的
    edit内容就在buf里了