在C#中,FindWindow和FindWindowEx函数用于查找窗口的句柄。以下是这两个函数的使用方法:
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
IntPtr hWnd = FindWindow(null, "窗口标题");
lpClassName参数指定窗口的类名,如果为null,则忽略该参数。
lpWindowName参数指定窗口的标题,如果为null,则忽略该参数。
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr hWndParent, IntPtr hWndChildAfter, string lpszClass, string lpszWindow);
IntPtr hWndChild = FindWindowEx(hWndParent, IntPtr.Zero, null, "子窗口标题");
hWndParent参数指定父窗口的句柄,如果为IntPtr.Zero,则从所有顶层窗口中查找。
hWndChildAfter参数指定子窗口的句柄,如果为IntPtr.Zero,则从第一个子窗口开始查找。
lpszClass参数指定子窗口的类名,如果为null,则忽略该参数。
lpszWindow参数指定子窗口的标题,如果为null,则忽略该参数。
注意:在使用上述函数之前,需要将以下命名空间引入项目中:
using System.Runtime.InteropServices;
这样就可以在C#中使用FindWindow和FindWindowEx函数来查找窗口的句柄了。