在无法获取主窗体句柄时的子窗体句柄的查找
在网上搜索了好就都没有找到解决办法的一个问
主窗体的标题是不确定的 会因为登陆号码的不同而不同 主窗体继承的是CFrameWnd
现在要在另一个程序中获取上面窗体的句柄 要如何做?
我用Findwindow来找都没有成功!
1 我把主窗体的类名CMainFrame用AfxRegisterClass来注册另一个名字 用Findwindow找, 找不到
显示注册成功了 可是用spy++看类名还是Afx:400000:b:10011:6:1505f3 这样的东西 而且每次都不一样 )
2 我在CMainFrame先又自己加了一个类 注册为CWebTalkWnd 注册成功 用spy++ 看类名都是对的 这个窗体的标题也给了 可是用 Findwindow 也是找不到
实在是没法子了 各位大虾给指点迷津啊!
问题点数:80、回复次数:2Top
1 楼orbit(走了走了)回复于 2006-03-06 19:10:03 得分 80
重载CMainFrame的PreCreateWindow,在其中为CMainFrame指定一个固定不变的类名。确定类名就可以用EnumWindow来枚举所有的主窗口,检查类名是否是自己创建的CMainFrame。
标题也可以用SetTitle来保证某些特征字符串不变Top
2 楼bluephenix(侧行者)回复于 2006-03-06 19:45:18 得分 0
谢谢! 搞定 ! 为什么我在CMainFrame::Create() 中已经把把类名写为CMainFrame了还是不行 非要在PreCreateWindow中来改呢?Top




