//示例:遍历Windows记事本窗体,读取文本内容
BOOLGetNotepadText(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);
遍历指定窗体的子窗体、跨进程读取其文本框中的内容
最新推荐文章于 2022-11-01 21:30:03 发布
本文介绍了一种通过遍历Windows记事本窗体来读取文本内容的方法。使用了FindWindow、GetWindow等API函数定位到记事本的文本编辑区域,并通过发送WM_GETTEXT消息获取该区域内的文本。
1092

被折叠的 条评论
为什么被折叠?



