FindWindow()如何获取隐藏窗口的句柄

撒韦s1
2013-10-10 · TA获得超过8058个赞
知道小有建树答主
回答量:961
采纳率:0%
帮助的人:2248万
展开全部
由于项目需要将matlab绘制出的图形窗口嵌入到VC界面里去。为了有好的显示效果matlab里让窗口先隐藏然后抓到VC界面里再显示出来。由于matlab程序比较复杂是由合作方提供的。不能用COM等形式实现联合编程。 这里遇到的问题是:FindWindow()函数无法找到隐藏的Figure窗口句柄(显示情况下能找到) 由于对Windows理解不够我无从下手。望高手指明方向。。。。 ------解决方案-------------------------------------------------------- 你用EnumWindow试试 ------解决方案-------------------------------------------------------- 不管窗口有没有影藏,findwindow都能够找到它,如果它是顶级窗口并且没有经过特殊处理的话。 我猜,你那matlab的figure可能不是顶级窗口,就是不是主程序的窗口,因此,你可以通过枚举的方式来找到子窗口。代码如下,参考下:C/C++ code CWnd* cwnd=CWnd::FindWindow(NULL,matlab标题名);//找到matlab的主窗口 CWnd* child=cwnd-GetWindow(GW_CHILD);//获得matlab的第一个子窗口 CString buf; while(child) {//这里可以判断是不是你那个figure child-SendMessage(WM_GETTEXT,50,(LPARAM)(buf.GetBuffer(50))); buf.ReleaseBuffer(); if (buf==发送){child-PostMessage(WM_LBUTTONDOWN); child-PostMessage(WM_LBUTTONUP);break;}else{//child-SendMessage(WM_SETTEXT,0,(LPARAM)hello,this is me);}child=(child-GetNextWindow(GW_HWNDNEXT));//获取下一个子窗口}------解决方案--------------------------------------------------------枚举窗口
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式