SETWINDOWTEXT小问题

TangJunLin2002 2003-05-23 06:50:00
HWND cWnd;
cWnd=::FindWindow(NULL,"发送消息");
cWnd=::FindWindowEx(cWnd,NULL,"RICHEDIT",NULL);
::SetWindowText(cWnd,"文本");
我的意识的向QQ的输入框里输入文本,为什么这样不行啊?
我检测了返回植的,窗口能找到,RICHEDIT控件也能找到!但是为什么SET却不行呢?
要是删除cWnd=::FindWindowEx(cWnd,NULL,"RICHEDIT",NULL);就可以修改发送消息窗口的标题成“文本”!请网友门帮帮我!
还问个问题,要是一个程序里有很多的EDIT或者是RICHEDIT,我怎么样才能准确的取的的要的哪个RICH的句柄呢?
...全文
75 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjw2723114 2003-05-24
  • 打赏
  • 举报
回复
HWND cWnd;
cWnd=::FindWindow(NULL,"发送消息");

//cWnd=::FindWindowEx(cWnd,NULL,"RICHEDIT",NULL);

::SetWindowText(cWnd,"文本");


为什么我不要那一句也不行?
superzrb 2003-05-24
  • 打赏
  • 举报
回复
superzrb163@163.com
给我看看,学习一下。
zjw2723114 2003-05-24
  • 打赏
  • 举报
回复
zjw2723114@sina.com
(feiniaoliang)飞鸟良,给我也发一份吧
feiniaoliang 2003-05-24
  • 打赏
  • 举报
回复
已经明白问题之所在了,其实MSDN上有的:
To set the text of a control in another process, send the WM_SETTEXT message directly instead of calling SetWindowText.

所以只要把::SetWindowText(cWnd,"文本"); 改为:
::SendMessage(cWnd,WM_SETTEXT,(WPARAM)0,(LPARAM)(LPCTSTR)("文本"));
就可以了!!

楼主试一下吧!!有兴趣的朋友也可以试一下~~~~~~
TangJunLin2002 2003-05-24
  • 打赏
  • 举报
回复
飞鸟,我已经给了你邮件了,感谢你的热心解答!请尽快回信谢谢!
shilong 2003-05-24
  • 打赏
  • 举报
回复
::SetWindowText(cWnd,"文本");
只能将RichEdit的caption改成"文本"
feiniaoliang 2003-05-23
  • 打赏
  • 举报
回复
那你留个mail,我把我可以运行的程序发给你!!ok??
TangJunLin2002 2003-05-23
  • 打赏
  • 举报
回复
代码?就是上面那些啊!
其他的代码都是MFC生成呀,不会什么错把!
feiniaoliang 2003-05-23
  • 打赏
  • 举报
回复
如果方便的话,可否发给我你的代码,让我see see!!!

Eugen_Li@hotmail.com
TangJunLin2002 2003-05-23
  • 打赏
  • 举报
回复
我用这段代码,就算是对EDIT控件操作也不对呀!为什么会这样呢?
我个人认为我的代码没有错呀,为什么就是不行呢?我试过用上面的代码改程序的标题,按键的文字都可以成功,就是不能改EDIT等文本控件的文字!

请大家帮帮忙啊!
feiniaoliang 2003-05-23
  • 打赏
  • 举报
回复
你的代码经过测试是可以成功的!!!

看你再显示之前有没有调用过AfxInitRichEdit();这个函数,因为你是要对richedit控件进行操作!!详情请参阅MSDN
tserpent 2003-05-23
  • 打赏
  • 举报
回复
HWND cWnd,cWnd2;
cWnd=::FindWindow(NULL,"发送消息");
为什么又是cWnd=::FindWindowEx(cWnd,NULL,"RICHEDIT",NULL);
cWnd改成cWnd2试试。
syl08341 2003-05-23
  • 打赏
  • 举报
回复
wnd.SetWindowText("文本")
void CTestDlg::ReadIniInform()// 读取配置文件 { CString strPath; char tmpstr[120] = {0}; strPath = GetINIPath(); if (GetFileAttributes(strPath) == -1) { return; } memset(tmpstr, 0,120); ::GetPrivateProfileString("设置","频谱仪起始频率" ,NULL, tmpstr,MAX_PATH,strPath); startfreq=atof(tmpstr); memset(tmpstr, 0,120); ::GetPrivateProfileString("设置","频谱仪终止频率" ,NULL, tmpstr,MAX_PATH,strPath); stopfreq=atof(tmpstr); memset(tmpstr, 0,120); ::GetPrivateProfileString("设置","频谱仪频率步进" ,NULL, tmpstr,MAX_PATH,strPath); stepfreq=atof(tmpstr); memset(tmpstr, 0,120); ::GetPrivateProfileString("设置","信号源频率" ,NULL, tmpstr,MAX_PATH,strPath); xhyfreq=atof(tmpstr); memset(tmpstr, 0,120); ::GetPrivateProfileString("设置","信号源功率" ,NULL, tmpstr,MAX_PATH,strPath); xhyamp=atof(tmpstr); memset(tmpstr, 0,120); ::GetPrivateProfileString("设置","信号源VISA地址" ,NULL, tmpstr,MAX_PATH,strPath); XHYvisa=tmpstr; memset(tmpstr, 0,120); ::GetPrivateProfileString("设置","频谱仪VISA地址" ,NULL, tmpstr,MAX_PATH,strPath); PPYvisa=tmpstr; } void CTestDlg::WriteDataToWnd() { CString temp; temp.Format("%.3f",startfreq); GetDlgItem(IDC_PPYSTARTFREQ)->SetWindowText(temp); temp.Format("%.3f",stopfreq); GetDlgItem(IDC_PPYSTOPFREQ)->SetWindowText(temp); temp.Format("%.3f",stepfreq); GetDlgItem(IDC_PPYSTEPFREQ)->SetWindowText(temp); temp.Format("%.3f",xhyfreq); GetDlgItem(IDC_XHYFREQ)->SetWindowText(temp); temp.Format("%.2f",xhyamp); GetDlgItem(IDC_XHYAMP)->SetWindowText(temp); GetDlgItem(IDC_XHYVISA)->SetWindowText(XHYvisa); GetDlgItem(IDC_PPYVISA)->SetWindowText(PPYvisa); } void CTestDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 CString strtmp, strPath; char tmpstr[120] = {0}; strPath = GetINIPath(); if (GetFileAttributes(strPath) == -1) { return; } GetDlgItem(IDC_XHYVISA)->GetWindowTextA(strtmp); ::WritePrivateProfileString("设置","信号源VISA地址",strtmp,strPath); GetDlgItem(IDC_PPYVISA)->GetWindowTextA(strtmp); ::WritePrivateProfileString("设置","频谱仪VISA地址",strtmp,strPath); AfxMessageBox("修改完成"); } void CTestDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 CString strtmp, strPath; char tmpstr[120] = {0}; strPath = GetINIPath(); if (GetFileAttributes(strPath) == -1) { return; } GetDlgItem(IDC_PPYSTARTFREQ)->GetWindowTextA(strtmp); ::WritePrivateProfileString("设置","频谱仪起始频率",strtmp,strPath); GetDlgItem(IDC_PPYSTOPFREQ)->GetWindowTextA(strtmp); ::WritePrivateProfileString("设置","频谱仪终止频率",strtmp,strPath); GetDlgItem(IDC_PPYSTEPFREQ)->GetWindowTextA(strtmp); ::WritePrivateProfileString("设置","频谱仪频率步进",strtmp,strPath); GetDlgItem(IDC_XHYFREQ)->GetWindowTextA(strtmp); ::WritePrivateProfileString("设置","信号源频率",strtmp,strPath); GetDlgItem(IDC_XHYAMP)->GetWindowTextA(strtmp); ::WritePrivateProfileString("设置","信号源功率",strtmp,strPath); AfxMessageBox("修改完成"); }

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧