findWindow 窗口句柄无效

文西
博客专家认证
2009-11-09 12:19:28
小弟想实现一个查找一个窗口然后往里面填写东西的程序。
可以找到窗口,但是试图找到子窗口时,却发生窗口句柄无效的错误。查了好多,却依然不能解决。
帮小弟看一下,谢谢了
现在我在试验阶段,我就找那个Error Lookup工具的窗口。
CWnd *win = CWnd::FindWindow(NULL,"Error Lookup");//win确实有值
if(win!=NULL)
{
if(win->m_hWnd)//m_hWnd也有值
{
a = 0;
strcpy(ctelecode,telNum);
strcpy(cmoney,money);

EnumChildWindows(win->m_hWnd, EnumChildProc, 0);//没有调用EnumChildPro函数 F11两次就过了
UINT temp=GetLastError();
printf("%d\n",temp); //返回代码 用Errorlookup查查 结果是:无效窗口句柄

}
}
...全文
352 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinshiro 2009-11-27
  • 打赏
  • 举报
回复
多个Tpanel的时候,怎么得到指定的那个,无lpszWindowName
文西 2009-11-09
  • 打赏
  • 举报
回复
不对呀 按理说 我查了一些,这些Panel 应该都是子窗口呀,为什么 说句柄无效呢,即使无效也该调用回到函数呀?大不了没有子窗口给个空。
ToperRay 2009-11-09
  • 打赏
  • 举报
回复
FindWindow啊。

文西 2009-11-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 toperray 的回复:]
先把TPanel找到,再找 TEDit
[/Quote]
用什么函数呢 能指点下么? 我太菜了 我只有分代码,但是用不上,那个窗口和我们很大不同
ToperRay 2009-11-09
  • 打赏
  • 举报
回复
先把TPanel找到,再找 TEDit
文西 2009-11-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 toperray 的回复:]
用SPY看看它的窗口结构。。。

然后再写代码。


[/Quote]
结构里有两个TPanel TPanel里有TEDit 我该怎么弄才能获取里面的EDit呢
文西 2009-11-09
  • 打赏
  • 举报
回复
spy ? 好的
ToperRay 2009-11-09
  • 打赏
  • 举报
回复
用SPY看看它的窗口结构。。。

然后再写代码。

文西 2009-11-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 toperray 的回复:]
是不是本身就没有子窗口啊。


[/Quote]
那我怎么样获取里面的按钮和文本框呢? 我对这个东西了解的不多,能详细点说说么?
谢谢了
ToperRay 2009-11-09
  • 打赏
  • 举报
回复
是不是本身就没有子窗口啊。

文西 2009-11-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 toperray 的回复:]
FindWindow啊。


[/Quote]
无效句柄是什么原因呢 这就是我这个帖子的关键 我之前也是FindWindow 但是无效句柄 您可以再看下代码

15,980

社区成员

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

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