c#

c# enumchildwindows作用在哪

小樊
106
2024-12-01 09:27:07
栏目: 编程语言

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 方法会被调用,枚举所有子窗口并显示它们的句柄和标题。

0
看了该问题的人还看了