请问大家我如何在程序中获取当前运行程序的主线程的窗口谢谢大家 不能用afxgetmainWnd()或afxGetApp->m_pMainWnd,这样得到的窗口不一定是主线程窗口。谁有好的方法啊?先谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为有其它原因,我不想传递指针,我想直接用API能获得当前任务的主线程么? 我现在用broadcastsystemmessage也可以向主窗口发送消息,不过这种方法实现始终不太好,如果能直接通过API或其它函数得到主线程窗口的句柄就好了。 这种方法我试过了,如果我有无模对话框弹出,这样得到的是top无模对话框的名柄而不是主框架的不过还是谢谢还有谁有好的方法么? 你可以试一试几个windows API 函数:EnumWindows(); GetWindowThreadProcessID(); GetParent(); 具体应用为:先枚举全部窗口,在枚举回调函数中调用GetWindowThreadProcessID()得到窗口的进程ID与以前得到的ID比较,如果不一制,不处理,如一样,循环调用GetParent()一直到返回NULL,最后的hwnd既为顶层窗口句柄。 这样有点儿累,也不知道那个是当前启的主线程啊。而且如果有非模态窗口,用getparent()是得不到主视的啊,不过还是非常感谢:)! AfxGetApp得到的应该就是主线程啊? 不是的如果你是在程序中动态加载了其它DLL的对话框那个DLL会有他自己的theApp不一样的。我已经试过了 hWnd=NULL; hWnd=::FindWindow(NULL,"窗口名字"); 哪就给你窗口注册一个类GUID,通过第一个参数FIND Vc++6.0 连接Access数据库 ,保存记录交换两部分语句,结果不一致。 【散分】庆祝升4个裤衩,散分 CWnd派生的自定义控件如何响应WM_CREATE消息 工程添加问题 QQ欢乐都地主的动画怎么实现? 关于VC的问题 一个非常奇怪的现象!!!!!!紧急!!!! 请问有什么方法能转换ole的图片格式为标准的图片格式? 哪位大哥知道用什么编辑wmf格式的文件(急用) 老少爷们帮一把,关于windows nt 下如何访问系统账户信息。 vc.net中组件的注册 如何获取SCSI硬盘的序列号?
如果我有无模对话框弹出,这样得到的是top无模对话框的名柄而不是主框架的
不过还是谢谢
还有谁有好的方法么?
GetWindowThreadProcessID();
GetParent();
具体应用为:先枚举全部窗口,在枚举回调函数中调用GetWindowThreadProcessID()得到窗口的进程ID与以前得到的ID比较,如果不一制,不处理,如一样,循环调用GetParent()一直到返回NULL,最后的hwnd既为顶层窗口句柄。
hWnd=::FindWindow(NULL,"窗口名字");