Как, зная 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;
}