MFC-GetTopWindow获取指定窗口的子窗口中最顶层的窗口句柄
//GetTopWindow HWND hWnd = ::FindWindow(_T("#32770"), _T("测试程序")); if (!hWnd) { AfxMessageBox(_T("请打开测试程序")); ExitProcess(0); } CString str; str.Format(_T("主窗口句柄:hWnd=%d\r\n"), hWnd); ::OutputDebugString(str); HWND hWnd1 = ::FindWindowEx(hWnd, NULL, _T("Static"), _T("静态文本框")); str.Format(_T("静态文本框句柄:hWnd1=%d\r\n"), hWnd1); ::OutputDebugString(str); HWND hWnd2 = ::FindWindowEx(hWnd, NULL, _T("Edit"), NULL); str.Format(_T("编辑框句柄:hWnd2=%d\r\n"), hWnd2); ::OutputDebugString(str); HWND hWnd3 = ::FindWindowEx(hWnd, NULL, _T("Button"), _T("按钮")); str.Format(_T("按钮句柄:hWnd3=%d\r\n"), hWnd3); ::OutputDebugString(str); ::BringWindowToTop(hWnd2); HWND hWnd4 = ::GetTopWindow(hWnd);//获取指定窗口的子窗口中最顶层的窗口句柄 /* 参数:HWND hWnd 被查序的父窗口的句柄。如果该参数为NULL,函数返回Z序顶部的窗口句柄 【这个函数一般用在同一个程序中父子窗口;桌面的顶层窗口是一个不可见窗口MSCTFIME UI】 */ str.Format(_T("顶部窗口句柄:hWnd4=%d\r\n"), hWnd4); ::OutputDebugString(str); //返回的顶部窗口是编辑框 ::BringWindowToTop(hWnd3); //把按钮放到Z序的顶部 hWnd4 = ::GetTopWindow(hWnd); str.Format(_T("顶部窗口句柄:hWnd4=%d\r\n"), hWnd4); ::OutputDebugString(str); //返回的顶部窗口是编辑框
测试程序下载:
链接:https://pan.baidu.com/s/1f4e8R5wi6dnu-Ut4Hop5Vg
提取码:6666
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
2022-04-26 halcon-elliptic_axis计算区域的等效椭圆数据