温馨提示×

c# findwindowex返回结果

c#
小樊
81
2024-11-21 15:10:33
栏目: 编程语言

FindWindowEx 是 Windows API 中的一个函数,用于在 Z 顺序窗口列表中查找具有指定类名、窗口名和窗口过程的顶级窗口。它返回找到的窗口句柄,如果没有找到则返回 IntPtr.Zero

在 C# 中,你可以使用 P/Invoke 来调用 FindWindowEx 函数。以下是一个示例:

using System;
using System.Runtime.InteropServices;

class Program
{
    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

    static void Main()
    {
        // 示例用法
        IntPtr hwndParent = IntPtr.Zero; // 父窗口句柄,通常为桌面窗口句柄
        IntPtr hwndChildAfter = IntPtr.Zero; // 子窗口句柄,通常为 NULL
        string lpszClass = "STATIC"; // 类名
        string lpszWindow = "示例窗口标题"; // 窗口标题

        IntPtr hwndResult = FindWindowEx(hwndParent, hwndChildAfter, lpszClass, lpszWindow);

        if (hwndResult != IntPtr.Zero)
        {
            Console.WriteLine("找到窗口,句柄为: " + hwndResult);
        }
        else
        {
            Console.WriteLine("未找到窗口");
        }
    }
}

在这个示例中,我们首先使用 DllImport 属性导入 user32.dll 库,并定义了 FindWindowEx 函数的签名。然后,在 Main 方法中,我们调用 FindWindowEx 函数并传入相应的参数。最后,我们检查返回的窗口句柄是否有效,并输出相应的结果。

0