温馨提示×

C#中FindWindow和FindWindowEx怎么使用

c#
小亿
111
2023-10-12 02:44:42
栏目: 编程语言

在C#中,FindWindow和FindWindowEx函数用于查找窗口的句柄。以下是这两个函数的使用方法:

  1. FindWindow函数:
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
IntPtr hWnd = FindWindow(null, "窗口标题");
  • lpClassName参数指定窗口的类名,如果为null,则忽略该参数。

  • lpWindowName参数指定窗口的标题,如果为null,则忽略该参数。

  1. FindWindowEx函数:
[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函数来查找窗口的句柄了。

0