Как, зная Handle окна программы, определить имя EXE - C#
Формулировка задачи:
Добрый вечер, вот такая проблема: нужно найти имя активного окна. Handle узнаётся с помощью GetForegroundWindow(), а как действовать дальше, я не знаю (сравнивать этот Handle с всеми работающими приложениями было бы слишком не рационально =)
Решение задачи: «Как, зная Handle окна программы, определить имя EXE»
textual
Листинг программы
using System.Runtime.InteropServices; [DllImport("user32.dll")] private static extern int GetWindowThreadProcessId(IntPtr hWnd, out int processId); public string ProcName(IntPtr WindowHandle) { int pid; string result = ""; GetWindowThreadProcessId(WindowHandle, out pid); result = System.Diagnostics.Process.GetProcessById(pid).ProcessName + ".exe"; return result; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д