[求助]高手来一下哈,如果得到此当前线程中的所有窗口句柄,或者判断某一窗口句柄是属于当前线程的

雨中的月儿 2008-05-09 10:37:19
如题,呵呵。

我们都知道,MFC的Dialog框架,是在主线程中,创建CXXXDialog。

那么,在一般的线程中,如何判断一个窗口的句柄(hWnd)是否属于某一线程(hThread),请高手赐教!!

多谢!不胜感激!
...全文
92 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨中的月儿 2008-05-15
  • 打赏
  • 举报
回复
多谢楼上的几位兄弟……
yxz_lp 2008-05-09
  • 打赏
  • 举报
回复
用 GetWindowThreadProcessId()函数来判断
chNeed1 2008-05-09
  • 打赏
  • 举报
回复
GetWindowThreadProcessId 返回值就是窗口句柄所在的线程ID
再用EnumWindow 枚举所有窗口
即可知道你要查的窗口是否属哪个线程
Yofoo 2008-05-09
  • 打赏
  • 举报
回复
GetCurrentThreadId
GetWindowThreadProcessId

如果非当前线程, 而是一hThread, 可以用 NtQueryInformationThread 取得线程ID

ThreadBasicInformation
typedef struct _THREAD_BASIC_INFORMATION {
NTSTATUS ExitStatus;
PVOID TebBaseAddress;
CLIENT_ID ClientId;
KAFFINITY AffinityMask;
KPRIORITY Priority;
KPRIORITY BasePriority;
} THREAD_BASIC_INFORMATION, *PTHREAD_BASIC_INFORMATION;

NtQueryInformationThread 的具体用法可以到网上搜索相关资料



15,471

社区成员

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

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