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");