FindWindow() 由不完整的名称

FindWindow() by incomplete name

本文关键字:FindWindow      更新时间:2023-10-16

有没有办法通过不完整的名称找到窗口?

例如,您将如何找到可以具有许多标题名称的Google Chrome窗口?
堆栈溢出 - 谷歌浏览器

如果窗口始终与下面的函数具有相同的名称,则 FindWindow 函数将很好地工作。

HWND chrome = FindWindow(NULL,_T("Stack Overflow - Google Chrome"));
SetForegroundWindow(chrome);

但是,如果名称不断更改(如浏览器)会发生什么?如何通过搜索固定的开始/结束来找到窗口?

我正在寻找的是类似FindWindow(NULL,_T("something here - Google Chrome")的东西.
有什么办法吗?

可以使用窗口类名代替窗口标题。例如,您可以找到火狐

HWND firefox = FindWindow(_T("MozillaWindowClass"), NULL);

您可以使用任何窗口间谍类型的应用程序,如WinSight,WinSpy++或(我用来查找Firefox窗口类的那个)AutoHotkey的窗口间谍实用程序。

有关详细信息,请参阅 MSDN 文档以获取FindWindow