EnumChildWindows
是 C# 中的一個方法,它屬于 System.Windows.Forms
命名空間。這個方法的主要作用是枚舉一個窗口的所有子窗口。這個方法需要一個回調函數作為參數,該回調函數將被應用于每個子窗口。當遍歷完所有子窗口后,EnumChildWindows
方法返回 true
。
以下是一個簡單的示例,展示了如何使用 EnumChildWindows
方法:
using System;
using System.Windows.Forms;
namespace EnumChildWindowsExample
{
public class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void InitializeComponent()
{
this.SuspendLayout();
//
// MainForm
//
this.ClientSize = new System.Drawing.Size(300, 200);
this.Name = "MainForm";
this.Load += new System.EventHandler(this.MainForm_Load);
this.ResumeLayout(false);
}
private void MainForm_Load(object sender, EventArgs e)
{
EnumChildWindows(this, (hWnd, lParam) =>
{
MessageBox.Show($"子窗口句柄: {hWnd}, 標題: {GetWindowText(hWnd)}");
return true;
});
}
[DllImport("user32.dll")]
private static extern int GetWindowText(IntPtr hWnd);
[DllImport("user32.dll")]
private static extern bool EnumChildWindows(IntPtr hWndParent, EnumWindowProc lpEnumFunc);
private delegate bool EnumWindowProc(IntPtr hWnd, IntPtr lParam);
}
}
在這個示例中,當 MainForm
加載時,EnumChildWindows
方法會被調用,枚舉所有子窗口并顯示它們的句柄和標題。