VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 305|回复: 5

vc++窗口篇之windows发送消息

[复制链接]
45_avatar_middle
最佳答案
0 
在线会员 发表于 2022-4-15 11:06:43 | 显示全部楼层 |阅读模式
void CHighWindow5Dlg::OnBnClickedButton1()
{
        HWND hDlgWnd = ::FindWindow(_T("#32770"), _T("Test"));
        if (hDlgWnd)
        {
                ::ShowWindow(hDlgWnd,SW_NORMAL);
                ::SetForegroundWindow(hDlgWnd);

                HWND hBtn = ::GetDlgItem(hDlgWnd,0x3E8);//按键按钮的ID  得到一个实例在运行这个对话框中按键按钮的句柄
                ::SendMessage(hBtn, BM_CLICK, 0, 0);//给个实例在运行这个对话框中按键按钮发送左击一下的消息
        }
}
vc++窗口篇的windows发送消息那一节里,调用FindWindow这个函数返回的句柄一直是0,我用的是spy++那个插件查的要打开窗口的类和对话框名字的,请问一下有哪位大佬知道错在哪里吗




上一篇:MFC如何调用dll内返回值是数组的函数
下一篇:为什么一调用DwmExtendFrameIntoClientArea函数就报错,说无法解析?
17_avatar_middle
最佳答案
21 
在线会员 发表于 2022-4-15 13:01:54 | 显示全部楼层
本帖最后由 yoobaby 于 2022-4-15 13:04 编辑

配置属性->C/C++ -> 优化 -> 禁用优化,你调试看看,有时变量会被优化掉 。

还有一点要注意的是按钮如果在一个分组里,你要先获取分组的句柄,再获取按钮的句柄。

比如我这的一个例子是这样的

  1. HWND hGroup1 = ::GetDlgItem(hDlgWnd, 110);
  2.                 HWND hGroup2 = ::GetDlgItem(hGroup1, 210);
  3.                 HWND hBtn=::GetDlgItem(hGroup2, 140);
  4.                 ::SendMessage(hBtn, BM_CLICK, 0, 0);
复制代码
60_avatar_middle
最佳答案
0 
在线会员 发表于 2022-4-16 10:06:33 | 显示全部楼层
问个比较具体的小问题,你咋知道你要拿的那个窗口的注册类名就叫“#32770”呢?在跑本程序之前,你创建那个用来测试的“Test”窗口时候是否在RegisterClass函数里把WNDCLASSA结构里的lpszClassName修改为“#32770”呢?
27_avatar_middle
最佳答案
0 
在线会员 发表于 2022-4-18 09:15:39 | 显示全部楼层
把_T("#32770")改为null.只用后面一个就行。vc++窗口篇之windows发送消息
45_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2022-4-23 12:59:22 | 显示全部楼层
netforfun 发表于 2022-4-16 10:06
问个比较具体的小问题,你咋知道你要拿的那个窗口的注册类名就叫“#32770”呢?在跑本程序之前,你创建那个 ...

这个是用spy++小插件去查的啊,工具栏里有这个插件,直接用
60_avatar_middle
最佳答案
0 
在线会员 发表于 2022-4-24 11:20:36 | 显示全部楼层
快递小明 发表于 2022-4-23 12:59
这个是用spy++小插件去查的啊,工具栏里有这个插件,直接用

哈哈那我怕你spy出来的那个带#的数字是窗口在系统里存在的注册编号方便通过数字编号枚举或者搜索每个窗口,而不是注册窗口类的类名
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2022-5-18 17:21

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表