FindWindowEx
是 Windows API 中的一個函數,用于在 Windows 操作系統中查找窗口句柄。在 C# 中,你可以使用 P/Invoke(平臺調用)來調用這個函數。下面是一個簡單的示例,展示了如何使用 FindWindowEx
函數在 C# 中查找窗口句柄。
首先,你需要在 C# 代碼中添加以下 using
指令:
using System;
using System.Runtime.InteropServices;
然后,你可以定義一個名為 FindWindowExHelper
的靜態類,其中包含一個名為 FindWindowEx
的靜態方法。這個方法接受四個參數,分別表示要查找的窗口句柄、父窗口句柄、類名和一個窗口標題。方法的返回值是一個 IntPtr
,表示找到的窗口句柄。
public static class FindWindowExHelper
{
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
}
現在,你可以在你的應用程序中使用 FindWindowExHelper.FindWindowEx
方法來查找窗口句柄。例如,要查找一個名為 “Notepad” 的記事本窗口,你可以這樣做:
IntPtr hwnd = FindWindowExHelper.FindWindowEx(IntPtr.Zero, IntPtr.Zero, "Notepad", null);
if (hwnd != IntPtr.Zero)
{
Console.WriteLine("Found Notepad window with handle: " + hwnd);
}
else
{
Console.WriteLine("Notepad window not found.");
}
請注意,這個示例中的 FindWindowEx
方法將查找頂層窗口。如果你需要查找嵌套的窗口,你需要傳遞正確的 hwndChildAfter
參數。此外,你可能需要使用其他窗口類名或窗口標題來定位你想要查找的窗口。