以下是一個使用C#編寫的FindWindowEx
示例代碼,該代碼用于查找具有特定類名和窗口名的頂層窗口:
using System;
using System.Runtime.InteropServices;
class Program
{
[DllImport("user32.dll")]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
static void Main()
{
// 查找具有特定類名和窗口名的頂層窗口
IntPtr hwnd = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "ClassName", "WindowName");
if (hwnd != IntPtr.Zero)
{
Console.WriteLine("找到了窗口: " + hwnd);
}
else
{
Console.WriteLine("未找到窗口");
}
}
}
在這個示例中,我們使用了DllImport
屬性來導入user32.dll
庫中的FindWindowEx
函數。然后,我們在Main
方法中調用FindWindowEx
函數,并傳遞IntPtr.Zero
作為父窗口句柄和子窗口句柄,以便從最頂層窗口開始查找。我們還傳遞了要查找的窗口類的類名(ClassName
)和窗口名(WindowName
)。
如果找到了具有指定類名和窗口名的窗口,FindWindowEx
函數將返回該窗口的句柄;否則,它將返回IntPtr.Zero
。我們可以使用此句柄執行其他操作,例如獲取窗口的尺寸或與其交互。