Метод GetForegroundWindow в C# используется для получения дескриптора текущего окна переднего плана, то есть окна, которое в данный момент находится в фокусе пользователя. Вот несколько способов добиться этого:
Метод 1: использование P/Invoke
using System;
using System.Runtime.InteropServices;
class Program
{
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
static void Main(string[] args)
{
IntPtr foregroundWindow = GetForegroundWindow();
Console.WriteLine("Foreground Window Handle: " + foregroundWindow);
}
}
Метод 2: использование класса Process
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Process foregroundProcess = Process.GetProcesses().FirstOrDefault(p => p.MainWindowHandle == GetForegroundWindow());
Console.WriteLine("Foreground Process Name: " + foregroundProcess?.ProcessName);
}
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
}
Эти методы позволяют получить информацию об окне переднего плана в приложении C#. Первый метод использует P/Invoke для прямого вызова встроенной функции Windows API. Второй метод использует класс Process
для получения свойства MainWindowHandle
процесса, связанного с окном переднего плана.