获取窗口的句柄

get handle of window

本文关键字:句柄 窗口 获取      更新时间:2023-10-16

我有一个在单独的线程中运行的窗口。我需要在另一个线程中获取该窗口的句柄。

我不能使用 ::FindWindow API,因为窗口名称会更改,因为我的应用程序可以用其他语言运行。另外,我无权访问用于窗口名称的资源字符串。

我也不能使用 ::GetActiveWindow,因为调用线程 ID 和活动窗口线程 ID 是不同的。

请提出一些解决方案。

不必

将窗口名称传递给 FindWindow 函数。您可以为窗口名称传递 NULL,并仅使用 lpClassName 参数查找窗口。

MFC 通常自动分配窗口类名,但您可以通过向 AfxRegisterClass 注册唯一名称并使用该注册的类名创建窗口来控制窗口的类名。