溫馨提示×

C# FindWindow如何查找特定窗口

c#
小樊
255
2024-11-19 14:20:46
欄目: 編程語言

在C#中,您可以使用FindWindow函數來查找特定的窗口。這個函數是Windows API的一部分,它允許您根據窗口類名和窗口標題來查找窗口。以下是一個簡單的示例,展示了如何使用FindWindow來查找一個具有特定類名和窗口標題的窗口:

using System;
using System.Runtime.InteropServices;

class Program
{
    [DllImport("user32.dll")]
    static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

    static void Main()
    {
        // 窗口類名(類名是區分大小寫的)
        string className = "Notepad";
        // 窗口標題(標題是區分大小寫的)
        string windowTitle = "無標題 - 記事本";

        // 使用FindWindow函數查找窗口
        IntPtr hwnd = FindWindow(className, windowTitle);

        if (hwnd != IntPtr.Zero)
        {
            Console.WriteLine($"找到了窗口!句柄:{hwnd}");
        }
        else
        {
            Console.WriteLine("未找到窗口。");
        }
    }
}

在這個示例中,我們首先導入了System.Runtime.InteropServices命名空間,以便我們可以使用DllImport屬性來導入Windows API函數。然后,我們定義了一個名為FindWindow的靜態方法,它接受兩個字符串參數:lpClassNamelpWindowName,分別表示窗口類名和窗口標題。

Main方法中,我們設置了要查找的窗口的類名和窗口標題,然后調用FindWindow函數來查找該窗口。如果找到了窗口,FindWindow將返回一個非零的句柄值;否則,它將返回IntPtr.Zero。最后,我們根據FindWindow的返回值輸出相應的結果。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女