c++ - 获取窗口句柄

标签 c++ mfc window handle

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

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

我也不能使用::GetActiveWindow,因为调用线程 ID 和事件窗口线程 ID 不同。

请提出一些解决方案。

最佳答案

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

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

关于c++ - 获取窗口句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27699989/

相关文章:

c++ - DLL 和名称修改

c++ - 如果它在不同的函数集中,我如何添加或减去一个变量?

c++ - 使用 C++ 和 Visual Studio 2008 的 MFC DLL

c++ - 当删除 Combobox 中的项目时,第二个弹出 MFC

c++ - int n != unsigned int(n) 的含义

c++ - GetSel 总是返回 0,0

c# - 哪个事件捕获窗口的位置变化?

javascript - Google Chrome - 使用 iframe 和 youtube 时在 Windows 下崩溃,但在 Linux 中不会崩溃相同的代码

javascript - 在不更改 url 的情况下转到 anchor

c++ - 如何简化此代码(基于 unsigned int 在 min 和 max 之间生成一个随机 int)?