如何在另一个程序的获取编辑框的内容自动输入内容

vc++ 向另一程序窗口的编辑框写入内容
来源:csdn
【上边只能改变编辑框的显示,不能真正改变编辑框的内容,怎么才能向另一程序窗口的编辑框写入内容?】
上面代码就可以真正改变编辑框内容。除非程序本身有特殊逻辑。
不信你开个记事本,用这个去设置记事本的文本框,再保存,看是否有效。
好像不行,我控制计算器的编辑框,计算器编辑框初始内容为0,把编辑框内容用这个程序首先设置为55,然后用鼠标点击计算器“+”号,然后计算器编辑框马上显示0,如果真正改变了编辑框内容,点击完"+"号后,计算器编辑框内容应还是55
dingxz105090:
这是逻辑问题。你按计算器的+号前,计算器的代码已经把之前的数0保存到一个变量了,你只是改变了编辑框的值,但是没有改变这个变量的值,所以按+号后他可能把那个变量更新到控件又是0了
貌似LZ改了问题?
bojie5744:
首先你确定你的句柄是编辑框的?还有贴你获取编辑框句柄的代码。
感觉是可以真正改变编辑框的内容的啊
你直接向编辑框所在的主窗口发送自定义消息,消息的LPARAM传(LPARAM)pStr,在消息的处理函数当中::SetWindowText
my3439955:
对于其他进程内的子窗口的edit,SetWindowText是无效的,因为新标题在本进程内,无法跨进程传输。
方案有三:
1、注入法,在远程进程开辟一块内存VirtualAllocEx,写入新标题WriteProcessMemory,发消息WM_SETTEXT即可
2、模拟输入法,将新标题拆成char,用WM_CHAR消息一个一个的发送过去
3、剪贴板法,将新标题复制到剪贴板,然后发送WM_PASTE消息
这是正解,按了符号,数字就提交了,计算器不会再读一次。如果你写过计算器不难理解这一点。
3楼,9楼都说的对,我也知道是这个问题,可是该如何改变这个变量的值?
8楼的好像很有道理,不知道方法1能不能提供一个示例代码?多谢了
schlafenhamster:
"SetWindowText(Get)"
系统经过特殊处理 可以 跨进程。
bojie5744:
bojie5744:
要是能通过SetWindowText,getWindowText,那真是见鬼了,终于有一个同说法的。
WUYUAN2011WOAINI:
postmessage就可以吧 发不同进程吧
WUYUAN2011WOAINI:
是sendmessage可以发不同进程吧
schlafenhamster:
:::SendMessage(hWnd, WM_SETTEXT, NULL, (LPARAM)文本内容);
可以 跨进程的
guyuguang8628391:
同意楼上的,sendmessage是可以跨进程的。
获取编辑框句柄的代码:
HWND CMainDlg::MouseGetWindow()
HWND DeskHwnd = ::GetDesktopWindow();
//取得桌面句柄
HDC DeskDC = ::GetWindowDC(DeskHwnd);
//取得桌面设备场景
int oldRop2 = SetROP2(DeskDC, R2_NOTXORPEN);
::GetCursorPos(&pnt);
//取得鼠标坐标
HWND UnHwnd = ::WindowFromPoint(pnt) ;
//取得鼠标指针处窗口句柄
HWND hwndResuult = UnH
HWND grayHwnd = ::GetWindow(hwndResuult, GW_CHILD); //获得g_hWnd的第一个子窗口句柄
RECT tempRc;
BOOL bFind=FALSE;
while (grayHwnd)
::GetWindowRect(grayHwnd, &tempRc);
if(::PtInRect(&tempRc,pnt))
bFind = TRUE;
grayHwnd = ::GetWindow(grayHwnd, GW_HWNDNEXT);
}//while end
if(bFind == TRUE)
bFind= FALSE;
hwndResuult = grayH
;//Wnd=UnHwnd
::GetWindowRect(hwndResuult, &rc);
//'获得窗口矩形
if( rc.left & 0 ) rc.left = 0;
if (rc.top & 0 ) rc.top = 0;
HPEN newPen = ::CreatePen(0, 3, RGB(125,0,125));
//建立新画笔,载入DeskDC
HGDIOBJ oldPen = ::SelectObject(DeskDC, newPen);
::Rectangle(DeskDC, rc.left, rc.top, rc.right, rc.bottom);
//在指示窗口周围显示闪烁矩形
Sleep(400);
//设置闪烁时间间隔
::Rectangle( DeskDC, rc.left, rc.top, rc.right, rc.bottom);
::SetROP2(DeskDC, oldRop2);
::SelectObject( DeskDC, oldPen);
::DeleteObject(newPen);
::ReleaseDC( DeskHwnd, DeskDC);
DeskDC = NULL;
return hwndR
8楼的方法2和3都试过了,都不能实现想要功能。
schlafenhamster:
以下的操作 不在 一个 进程 无效:
::GetWindowRect(hwndResuult, &rc);
//'获得窗口矩形
if( rc.left & 0 ) rc.left = 0;
if (rc.top & 0 ) rc.top = 0;
HPEN newPen = ::CreatePen(0, 3, RGB(125,0,125));
//建立新画笔,载入DeskDC
HGDIOBJ oldPen = ::SelectObject(DeskDC, newPen);
::Rectangle(DeskDC, rc.left, rc.top, rc.right, rc.bottom);
//在指示窗口周围显示闪烁矩形
Sleep(400);
//设置闪烁时间间隔
::Rectangle( DeskDC, rc.left, rc.top, rc.right, rc.bottom);
::SetROP2(DeskDC, oldRop2);
::SelectObject( DeskDC, oldPen);
::DeleteObject(newPen);
::ReleaseDC( DeskHwnd, DeskDC);
DeskDC = NULL;
回复楼上:
这段代码对获取窗口句柄没有作用,只是为了让抓取的窗口边框闪烁显示,就像spy++那样。
SetWindowText肯定是没用的,SendMessage是可以的
jacksonfan:
::SendMessage(hwndDes, WM_SETTEXT, 0, (LPARAM)pStr);
//hwndDes是获取的另外一个程序的编辑框的窗口句柄
这个应该是可以设置的,调试的时候看看
1、句柄是否正确
2、消息的返回值
CharlesSimonyi:
标准的windows文本框是可以通过::SendMessage(hwndDes, WM_SETTEXT, 0, (LPARAM)pStr);来写入内容的。
一些程序由于文本框的实现比较特殊,或者做了特殊处理,导致无效。
你具体要像哪个程序的编辑框输入内容,说出来我们帮你看看问题出在哪
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动jsp如何实现两个输入框,输入一个另一个自动填充第一个的内容。如题,我的jsp页面中有2个输入框我要在第一个框a上传一个图片,a框里有了图片的名称带后缀名的。如何实现第二个框bb的框里自动填上了第一个
jsp如何实现两个输入框,输入一个另一个自动填充第一个的内容。
如题,我的jsp页面中
有2个输入框
我要在第一个框a 上传一个图片,a框里有了图片的名称带后缀名的。
如何实现第二个框b
b的框里自动填上了 第一个框a的值不带后缀名的。
如 我a上传图片名为
b框里就显示为 asdf。
先写两个input表单,然后在第一个表单里加个事件,比如onblur 焦点离开触发事件,然后这个事件触发函数,里面用js或者jquery写
把这个input的value值,复制给第二个指定id的input表单的value里面去,你看行么
解决方案二:
写一个onkeyup事件赋值
解决方案三:
在text的change事件中,写
解决方案四:
下面这个是去掉后缀
substring(0,fileName.lastIndexOf("."));
【云栖快讯】浅析混合云和跨地域网络构建实践,分享高性能负载均衡设计,9月21日阿里云专家和你说说网络那些事儿,足不出户看直播,赶紧预约吧!&&
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
开发者常用软件,超百款实用软件一站式提供vc++中如何实现 一个编辑框输入数据,点击一个按钮后,将那个编辑框的内容显示在另一个编辑框中,新人求助_突袭网-提供留学,移民,理财,培训,美容,整形,高考,外汇,印刷,健康,建材等信息
vc++中如何实现 一个编辑框输入数据,点击一个按钮后,将那个编辑框的内容显示在另一个编辑框中,新人求助
来源:互联网 时间: 11:07:11
&&为了解决用户可能碰到关于"vc++中如何实现 一个编辑框输入数据,点击一个按钮后,将那个编辑框的内容显示在另一个编辑框中,新人求助"相关的问题,突袭网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"vc++中如何实现 一个编辑框输入数据,点击一个按钮后,将那个编辑框的内容显示在另一个编辑框中,新人求助"相关的详细问题如下:RT,我想知道:vc++中如何实现 一个编辑框输入数据,点击一个按钮后,将那个编辑框的内容显示在另一个编辑框中,新人求助===突袭网收集的解决方案如下===用户提供的回答1:读书还得交学费,读书累,读书苦保证明天不读书用户提供的回答2:
;&#47.....分别对两个编辑框设置对应的变量..(这是添加的按钮函数){ UpdateData(TRUE),m_a2,CString型的.;&#47,比如说m_a1.; m_a2=m_a1.....,a2是另一个编辑框 UpdateData(FALSE);a1是原来的
用户提供的回答3:
你在点击按钮的那个消息响应函数那里添加代码:CSGetDlgItemText(IDC_EDIT1,mydata);SetDlgItemText(IDC_EDIT2,mydata);就可以了
用户提供的回答4:
首先:1 建一个基于MFC的对话框应用程序. 2 删除窗体上多于的玩意 3 添加两个EDIT控件 4 单击 View 选择 ClassWizard 在Class name单选框中选择C***Dlg (CAboutDlg除外)(默认不用选) 然后在 object ids 列表中选择 C***Dlg,再在Message列表中选择 &PreTranslateMessage&.单击 Add Function 再单击 Edit Code. 请对照修改 CSBOOL CMnbvcDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg-&message==WM_CHAR&&GetDlgItem(IDC_EDIT1)-&GetSafeHwnd()==pMsg-&hwnd){ CS c.Format(&%c&,pMsg-&wParam); str+=c; SetDlgItemText(IDC_EDIT2,str); return 1; } return CDialog::PreTranslateMessage(pMsg);}5 编译运行. VC++6 测试通过.有不明白的 百度hi我.
用户提供的回答5:
GetDlgItemText(第一个编辑框ID,接受数据的字符串);SetDlgItemText(第二个编辑框ID,接受数据的字符串)
用户提供的回答6:
SetWindowText
为您准备的相关内容:
你可能还关注
淘宝折扣专区查看: 424|回复: 11
如何把编辑框1 编辑框2输入的账号密码,自动输入到另一个程序!
阅读权限10
结帖率: (1/1)
2.jpg (23.09 KB, 下载次数: 0)
12:29 上传
如何把编辑框1 编辑框2输入的账号密码,自动输入到另一个程序,不需要自己手动再输入,本人菜鸟,大神们指点一下!最好能详细一点,谢谢额
模块搜索 句柄
相关操作就行了。
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至
可获得加分喔。友情提醒:本版被采纳的主题可在
帖子申请荣誉值,获得 1点 荣誉值,荣誉值可兑换终身vip用户组哦。快捷通道: →
阅读权限165
签到天数: 10 天结帖率: (48/51)
模块搜索 句柄&&相关操作就行了。
奉上小小红包希望笑纳
热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!
感谢你的支持,精易有你更精彩
您可以选择打赏方式支持他
阅读权限70
签到天数: 4 天结帖率: (3/3)
我在揣摩你做这个程序的用意。。。。。
您可以选择打赏方式支持他
阅读权限90
签到天数: 9 天结帖率: (4/9)
投递就行了
您可以选择打赏方式支持他
阅读权限10
结帖率: (1/1)
我在揣摩你做这个程序的用意。。。。。
做的一个启动程序 根据输入的位数判断启动哪个程序,但是第二次还要手动在输入一次不是麻烦吗?
您可以选择打赏方式支持他
阅读权限70
签到天数: 4 天结帖率: (3/3)
做的一个启动程序 根据输入的位数判断启动哪个程序,但是第二次还要手动在输入一次不是麻烦吗?
可以用精益模块里的消息投递的命令
您可以选择打赏方式支持他
阅读权限10
结帖率: (1/1)
可以用精益模块里的消息投递的命令
能给我举一个例子吗?源码的例子 我也是刚接触,谢谢了
您可以选择打赏方式支持他
阅读权限90
签到天数: 10 天结帖率: (32/74)
无数种方法可以实现,第一种:可以有文本作为中介,第二种:管道 第三种:窗口句柄
您可以选择打赏方式支持他
阅读权限10
结帖率: (1/1)
无数种方法可以实现,第一种:可以有文本作为中介,第二种:管道 第三种:窗口句柄
能给我举个例子吗?本人不太懂&&
您可以选择打赏方式支持他
阅读权限10
结帖率: (1/1)
模块搜索 句柄&&相关操作就行了。
能举个例子给我吗?本人菜鸟 不太懂
您可以选择打赏方式支持他
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪
违法和不良信息举报电话,QQ: ,,邮箱:@
Powered by
粤公网安备 25求助易语言怎么向另一个程序的编辑框写入数据_易语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:140,828贴子:
求助易语言怎么向另一个程序的编辑框写入数据收藏
求问啊想做一个小程序帮助工作。我想以句柄的方式实现,不过不知道怎么用啊。我写了个小程序想让结果输入到另一个程序的文本框里,
时尚餐饮加盟店,全程帮扶,轻松开店创业!
伸手党就算了。
获得句柄,然后发送消息,然后大喊一声,过去,就成功了
有精易模块么。。。里面带。。。。
楼主你天真的以为QQ聊天的那个是编辑框?
精易模块,文本投递、
API函数sendmessage可以实现,不用谢我楼主,哈哈。
国外都不自己买车,都是租车出行,简单又经济!
请先学习基础知识
有个问题请教大家。亲戚介绍了一个女生,很漂亮也有气质。约会几次感觉还不错。今天早上约我去咖啡馆,她还带了个女生,长的和她有点像,一开始我还以为是她姐妹。结果她告诉我她们是Les。一开始我还没听懂,后来才知道是女同的意思。她说她们很相爱,虽然不能有共同的孩子,但可以让他们有一个共同的爸爸。和我见面几次感觉我人还不错,又长的蛮好。所以想让我当孩子们的爸爸。(由于和我相亲的女生是独女,我是独子,可生两,她们又长的像,所以另一个女生可以用她的身份生小孩上户口) 相亲的女生和我领证。然后三人一起住。我只要有需要可以和她们两任何一人ML,但不能接受双飞。并且ML后她们两睡一起,我一人单睡。周六可以和我一起过,但周日的时间得留给他们。 反正当时我脑子已一片空白,让她们等我回复。回到家和家人说了这个事情,爸妈坚决不同意,争吵中不小心把电脑一脚踢冒烟了,请问一下电脑硬盘修一下多少钱?(转)
SendMessage
SendMessageA
模块,API,就是一个系统消息机制,不过你想一次操控多个编辑框写入数据,还要用句柄枚举
自带支持库:_启动窗口.发送信息 (16, 0, 0)
' 发送关闭窗口的信息
获取窗口句柄 然后获取控件id
然后修改控件内容
登录百度帐号推荐应用

我要回帖

更多关于 易语言保存编辑框内容 的文章

 

随机推荐