如何通过C#枚举子窗口

   2024-10-02 7960
核心提示:通过C#,可以使用EnumWindows函数来遍历所有窗口,然后使用GetWindowText函数获取每个窗口的标题,最后通过判断窗口标题来筛选出

通过C#,可以使用EnumWindows函数来遍历所有窗口,然后使用GetWindowText函数获取每个窗口的标题,最后通过判断窗口标题来筛选出需要的子窗口。

以下是一个简单的示例代码:

using System;using System.Runtime.InteropServices;class Program{    [DllImport("user32.dll")]    public static extern bool EnumWindows(EnumWindowsProc enumProc, IntPtr lParam);    [DllImport("user32.dll")]    public static extern int GetWindowText(IntPtr hWnd, System.Text.StringBuilder lpString, int nMaxCount);    public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);    static void Main()    {        EnumWindows(EnumWindowsCallback, IntPtr.Zero);    }    static bool EnumWindowsCallback(IntPtr hWnd, IntPtr lParam)    {        const int nChars = 256;        System.Text.StringBuilder buff = new System.Text.StringBuilder(nChars);        if (GetWindowText(hWnd, buff, nChars) > 0)        {            string windowTitle = buff.ToString();            if (windowTitle.Contains("子窗口标题关键词"))            {                Console.WriteLine(windowTitle);            }        }        return true;    }}

在以上代码中,EnumWindowsCallback方法会被EnumWindows函数调用来处理每个窗口,其中会通过GetWindowText函数获取窗口标题,并通过判断标题包含特定关键词来筛选出需要的子窗口。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号