请问怎样才能获得当前线程的窗口句柄。。谢谢。 。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用EnumWindows(EnumWindowsProc,target_thread_id);枚举再判断 处理方案:1.使用EnumWindows(),枚举出系统内所有的窗口句柄;2.对每一个获得的窗口句柄,调用GetWindowThreadProcessId(),可以获得与该窗口关联的线程ID;3.用获得的线程ID,与"当前线程的ID"比较,就可以实现"获得当前线程的窗口句柄"值得注意的是:一个线程,可以拥有一个以上的窗口.比如:一个线程有一个对话框窗口,而该对话框窗口又有多个子窗口(比如:Edit等),那么,这个线程就会拥有多个窗口了.如果你需要"线程的主窗口",那么,你把该线程的窗口比较它们的"父窗口",就可以找到"根部"窗口,这就是"线程的主窗口"了. 想必你是要主窗口吧?CWinThread::m_pMainWndAfxGetMainWnd();Both Ok!If what you want is not a main window,follow this:CWnd *pWnd=AfxGetMainWnd();CWnd *pNext=pWnd->GetWindow(GW_CHILD);.... 两个模态对话框的问题 请教一个关于程序的ICO图标在任务栏失真的问题 不知道“过滤器”概念,不知道“通讯”和“协议”分离怎么写,该看什么资料? vs2005自己带没带启动画面的控件? 急需答复! 插件怎么能获得IE窗口关闭的消息? 关于UI线程的几个问题。 请问一个程序要做成服务,需要实现什么接口? 关于snmp trap问题? 请教:为什么我在VS2010,包含类型库头文件就出错啊? 菜鸟请教关于CRichEdidView类的问题! 请教
再判断
2.对每一个获得的窗口句柄,调用GetWindowThreadProcessId(),可以获得与该窗口关联的线程ID;
3.用获得的线程ID,与"当前线程的ID"比较,就可以实现"获得当前线程的窗口句柄"值得注意的是:一个线程,可以拥有一个以上的窗口.比如:一个线程有一个对话框窗口,而该对话框窗口又有多个子窗口(比如:Edit等),那么,这个线程就会拥有多个窗口了.如果你需要"线程的主窗口",那么,你把该线程的窗口比较它们的"父窗口",就可以找到"根部"窗口,这就是"线程的主窗口"了.
CWinThread::m_pMainWnd
AfxGetMainWnd();
Both Ok!If what you want is not a main window,follow this:
CWnd *pWnd=AfxGetMainWnd();
CWnd *pNext=pWnd->GetWindow(GW_CHILD);
....