中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何通過C#枚舉子窗口

c#
小樊
81
2024-08-08 02:42:52
欄目: 編程語言

通過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函數獲取窗口標題,并通過判斷標題包含特定關鍵詞來篩選出需要的子窗口。

0
鄢陵县| 太谷县| 安溪县| 略阳县| 高邑县| 泸水县| 卢龙县| 申扎县| 白山市| 麟游县| 昆山市| 白水县| 闻喜县| 德清县| 兴文县| 琼中| 南昌县| 永善县| 镇坪县| 凉山| 洪江市| 迭部县| 陵水| 彭山县| 西充县| 蕲春县| 民县| 东海县| 海宁市| 吐鲁番市| 岐山县| 防城港市| 潼南县| 赫章县| 鹤山市| 谢通门县| 芦山县| 晋江市| 潼关县| 河西区| 许昌市|