已知进程、线程、窗体三者中某一个的句柄,需要查找另外两者的句柄。
1.
知道进程号:列举全部所属线程与窗体
2.
知道线程号:返回所属进程与全部窗体
3.
知道窗体号:返回所属进程与线程
根据窗口句柄可以得到进程ID和线程ID,GetWindowProcessThreadId
另外两个不知道有什么办法直接搜索。但枚举可以解决这些问题。
BOOL EnumWindows(
WNDENUMPROC lpEnumFunc, // pointer to callback function
LPARAM lParam // application-defined value
);
BOOL EnumThreadWindows(
DWORD dwThreadId, // thread identifier
WNDENUMPROC lpfn, // pointer to callback function
LPARAM lParam // application-defined value
);
BOOL EnumChildWindows(
HWND hWndParent, // handle to parent window
WNDENUMPROC lpEnumFunc, // pointer to callback function
LPARAM lParam // application-defined value
);