阅读量:0
通过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
函数获取窗口标题,并通过判断标题包含特定关键词来筛选出需要的子窗口。