FindWindowEx
是 Windows API 中的一个函数,用于在 Z 顺序窗口列表中查找满足特定条件的窗口句柄
[DllImport("user32.dll")]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
要使用 FindWindowEx
,你需要传递以下参数:
hwndParent
:父窗口的句柄。如果为IntPtr.Zero
,则表示查找顶级窗口。hwndChildAfter
:子窗口的句柄。如果为IntPtr.Zero
,则表示从顶层窗口开始查找。lpszClass
:窗口类的名称。如果为null
或空字符串,则表示不检查窗口类名称。lpszWindow
:窗口标题的名称。如果为null
或空字符串,则表示不检查窗口标题。
查找条件可以根据需要组合使用 lpszClass
和 lpszWindow
参数。例如,要查找具有特定类名和窗口标题的窗口,可以这样做:
IntPtr hwnd = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "ClassName", "WindowTitle");
要查找具有特定类名但窗口标题未知的窗口,可以这样做:
IntPtr hwnd = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "ClassName", null);
要查找具有特定窗口标题但类名未知的窗口,可以这样做:
IntPtr hwnd = FindWindowEx(IntPtr.Zero, IntPtr.Zero, null, "WindowTitle");