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

溫馨提示×

C#中怎么使用FindWindowEx函數

c#
小億
163
2023-08-03 12:01:21
欄目: 編程語言

在C#中使用FindWindowEx函數,需要引入WindowsAPI的頭文件和函數聲明:

using System;
using System.Runtime.InteropServices;
public class WindowsAPI
{
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int GetWindowText(IntPtr hWnd, out string lpString, int nMaxCount);
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int GetClassName(IntPtr hWnd, out string lpClassName, int nMaxCount);
}
public class Program
{
public static void Main()
{
string windowTitle = "Window Title";
IntPtr mainHWND = WindowsAPI.FindWindow(null, windowTitle);
if (mainHWND != IntPtr.Zero)
{
IntPtr childHWND = WindowsAPI.FindWindowEx(mainHWND, IntPtr.Zero, null, null);
if (childHWND != IntPtr.Zero)
{
string className;
WindowsAPI.GetClassName(childHWND, out className, 256);
string windowText;
WindowsAPI.GetWindowText(childHWND, out windowText, 256);
Console.WriteLine("Child HWND: " + childHWND.ToString());
Console.WriteLine("Class Name: " + className);
Console.WriteLine("Window Text: " + windowText);
}
else
{
Console.WriteLine("Child HWND not found.");
}
}
else
{
Console.WriteLine("Main HWND not found.");
}
}
}

在上述代碼中,首先通過FindWindow函數查找到指定標題的主窗口句柄mainHWND,然后通過FindWindowEx函數在主窗口下查找子窗口句柄childHWND。最后通過GetClassNameGetWindowText函數獲取子窗口的類名和窗口文本,并輸出到控制臺上。請注意,FindWindowFindWindowEx函數的第一個參數lpClassName可以指定窗口類名,如果為null則表示忽略類名,只根據窗口標題查找。

0
巢湖市| 南城县| 翼城县| 陆河县| 松江区| 白城市| 枝江市| 如东县| 葫芦岛市| 通州区| 福海县| 留坝县| 宝山区| 措勤县| 台安县| 德江县| 吉木乃县| 滁州市| 红安县| 桑日县| 阜平县| 应城市| 上蔡县| 册亨县| 荣昌县| 楚雄市| 噶尔县| 云龙县| 海门市| 平阳县| 泾源县| 华亭县| 岳阳市| 永定县| 文化| 安塞县| 柘城县| 霍山县| 新津县| 铜山县| 噶尔县|