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