我有窗口句柄了,关键是获取控件内容用什么消息或者API?

解决方案 »

  1.   

    代码用mfc写的。长度?你是保存窗口内容的数组长度吗?够的。很简单的代码。
    注入以后的:
    case DLL_PROCESS_ATTACH:
    {
    CMyLog::Log(_T("process....i am attached!!"));
                            HWND hWnd = (HWND)0xxxxxx    //为方便看懂,这里写死用spy++获取到的句柄
      char buf[2048];
      GetWindowText(hWnd, buf, 2048);
    CMyLog::Log(buf);
                   }
    不注入,直接获取窗口的:     
    HWND hWnd = (HWND)0xxxxxxx;    //为方便看懂,这里写死用spy++获取到的句柄
    char buf[2048];
    ::SendMessage(hWnd, WM_GETTEXT, (WPARAM)100, (LPARAM)buf);
      

  2.   

    richEdit 可以试试 EM_GETLINE
      

  3.   

    不行,用EM_GETLINE获取不到内容
      

  4.   

    只有  WM_GETTEXT  WM_SETTEXT  WM_COPYDATA 是可以跨进程的。
     WM_GETTEXT 是得到 Caption, 与窗口内容 何关 ? 
      

  5.   

    对于控件Caption 就是窗口内容.
    所以要进一步取控件hWnd