C++ 一个程序获取另一个程序Edit控件的内容
发布日期:2021-06-30 10:51:54
浏览次数:2
分类:技术文章
本文共 1630 字,大约阅读时间需要 5 分钟。
转载地址:
//一个程序获取另一个程序Edit控件的内容
//根据指定程序的标题名获取改程序窗口的句柄
HWND hWnd=::FindWindow(NULL,"zhang001");
if(hWnd)
{
MessageBox("get windows");
//根据窗口句柄获取EDIT控件的ID,但是这个ID是通过VS工具spy++获取的
HWND h = ::GetDlgItem(hWnd,0x3E9);
if (h!=NULL)
{
CString str0;
//要知道SendMessage用法,特别是第三个参数
//根据EDIT控件的ID获取控件内容,存放到str0中
::SendMessage(h,WM_GETTEXT,20,(LPARAM)(LPCTSTR)str0);
//将获得的内容放到本程序指定的EDIT控件中进行显示
GetDlgItem(IDC_EDIT1)->SetWindowText(str0);
MessageBox(str0);
}
}
else
{
MessageBox("fail!");
}
运行结果如下:
采用以上程序由于采用CString,获取的内容大小不定,当制定的缓存和制定的大小不一样时就会产生一下的错误
整个程序改为一下代码,就好了:
//一个程序获取另一个程序Edit控件的内容 //根据指定程序的标题名获取改程序窗口的句柄 CString str; GetDlgItemText(IDC_TITLE,str); HWND hWnd=::FindWindow(NULL,str);//"zhang001" if(hWnd) { MessageBox("get windows"); //根据窗口句柄获取EDIT控件的ID,但是这个ID是通过VS工具spy++获取的 HWND h = ::GetDlgItem(hWnd,0x3E9); if (h!=NULL) { //CString str0; char temp[50]; //要知道SendMessage用法,特别是第三个参数 //根据EDIT控件的ID获取控件内容,存放到str0中 ::SendMessage(h,WM_GETTEXT,sizeof(temp)/sizeof(char),(LPARAM)temp);//第三个和第四个参数是缓存大小和缓存指针 //将获得的内容放到本程序指定的EDIT控件中进行显示 GetDlgItem(IDC_EDIT1)->SetWindowText(temp); //MessageBox(str0); } } else { MessageBox("fail!"); }
注:要想获取某控件的位置 可以使用下面的方法
GetDlgItem(控件ID)->GetWindowRect(&rect);//获取控件基于全频的位置 ScreenToClient(rect);//转换为对话框上的相对位置
如何获取控件的ID
MFC::CWnd *pWnd = GetFocus(); if(pWnd == NULL);//no focuselseUINT nID = pWnd->GetDlgCtrlID();SDK:HWND hWnd = ::GetFocus();if(hWnd == NULL);//no focus elseUINT nID = ::GetDlgCtrlID(hWnd);GetFocus: The return value is the handle to the window with the keyboard focus. If the calling thread's message queue does not have an associated window with the keyboard focus, the return value is NULL.
转载地址:https://it1995.blog.csdn.net/article/details/79323434 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月04日 13时27分52秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于java的魂斗罗的设计
2019-04-30
基于java的网页内容管理
2019-04-30
基于java的学生管理系统
2019-04-30
基于java网盘搜索的设计与实现
2019-04-30
基于SSM的仿小米商城源码
2019-04-30
基于SSM的医院人事管理系统的设计与实现
2019-04-30
基于SSM的兼职论坛系统的设计与实现
2019-04-30
基于java的图书管理系统的设计与实现
2019-04-30
基于java的SSM框架理财管理系统的设计与实现
2019-04-30
基于java的ssm框架就业信息管理系统的设计
2019-04-30
基于java的ssm框架的旅游网站设计与实现
2019-04-30
基于java的SSM框架的流浪猫救助网站的设计与实现
2019-04-30
基于java的SSM框架的教务关系系统的设计与实现
2019-04-30
别再问我什么是A/B测试了!
2019-04-30
如何用同期群分析模型提升留存?(Tableau实战)
2019-04-30
爱了,吹爆这个高颜值的流程图工具!
2019-04-30
一个数据项目
2019-04-30
相亲多少次就该做出决定了?答案是:37%
2019-04-30
数据分析 | 指标字典该如何搭建和推行?
2019-04-30