//示例:遍历Windows记事本窗体,读取文本内容
BOOL
GetNotepadText(OUTCString& csText)
{
    //记事本的窗口类名是Notepad
    HWND_hWnd=::FindWindow("Notepad",NULL);
   
    //获取窗体_hWnd的子窗体
    HWNDhChildWnd = ::GetWindow(_hWnd, GW_CHILD);
    while(hChildWnd!=NULL)
    {
        //获取窗口类名
        charszClassName[MAX_PATH];
        ::GetClassName(hChildWnd, szClassName, MAX_PATH);
 
        //如果是文本框(Edit)
        if(strcmp("Edit",szClassName)==0)
        {
            //读取文本框中的文本
            charszText[MAX_PATH];
            SendMessage(hChildWnd,WM_GETTEXT,(WPARAM)MAX_PATH,(LPARAM)szText);
            csText=szText;
            returnTRUE;
        }
        //继续访问下一个子窗体
        hChildWnd = ::GetNextWindow(hChildWnd, GW_HWNDNEXT);
    }
    returnFALSE;
}
 
//使用方法
CStringcs_txt;
GetNotepadText(cs_txt);
AfxMessageBox(cs_txt);
 

本文链接地址: 遍历指定窗体的子窗体、跨进程读取其文本框中的内容
https://blog.qingfengju.com/index.asp?id=207

上一篇: 宝宝生日
下一篇: 结束指定窗体hWnd所属的进程

分类:Win32/C++ 查看次数:7797 发布时间:2010/4/1 11:49:01