FindWindow()由不完整的名称

时间:2013-10-17 19:38:42

标签: c++ winapi findwindow

有没有办法用不完整的名字找到一个窗口?

例如,您如何找到可以包含多个标题名称的Google Chrome窗口? 喜欢 Stack Overflow - 谷歌浏览器

如果窗口的名称总是与下面的函数名称相同,则FindWindow函数可以正常工作。

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

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

我正在寻找像FindWindow(NULL,_T("something here - Google Chrome")这样的东西。
有什么办法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用窗口类名而不是窗口标题。例如,您可以使用

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

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

有关详细信息,请参阅FindWindow的MSDN文档。