如何检测HWND是否属于我的应用程序?

The*_*ook 2 c++ winapi

我的应用程序创建了多个窗口,我想在这些窗口之间强制执行Z顺序,即,如果两个窗口碰巧重叠,则应在具有较低优先级的窗口上绘制具有较高优先级的窗口.

我使用GetWindow函数将不同(不可见/可见)窗口的句柄移动到窗口.我想知道我的应用程序是否创建了此函数返回的特定窗口.有关如何获取该信息的任何想法?

Cri*_*ati 6

您可以使用[MS.Docs]:GetWindowThreadProcessId函数.

要检查当前进程ID,请使用[MS.Docs]:GetCurrentProcessId函数.

如果您的应用程序更复杂并产生多个创建窗口的进程,则必须使用[MS.Docs]:工具帮助函数((CreateToolhelp32Snapshot,Process32First,Process32Next)+ CloseHandle)构建进程树.