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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы