Активность окна сторонней программы - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Такой вопрос к знатокам) Как определить активно ли окно у сторонней программы? ничего внятного не нашел на просторах сети. Может поможет кто.

Решение задачи: «Активность окна сторонней программы»

textual
Листинг программы
    class Program
    {
        [DllImportAttribute("User32.dll")]
        private static extern int FindWindow(string ClassName, string WindowName);
 
        [DllImportAttribute("User32.dll")]
        private static extern int GetForegroundWindow();
 
        static void Main(string[] args)
        {
            int hWnd = FindWindow(null, "Calculator");
            Console.WriteLine("HWND: " + hWnd);
 
            int lastActiveHwnd = GetForegroundWindow();
            while (true)
            {
                int newActiveHwnd = GetForegroundWindow();
                if (newActiveHwnd != lastActiveHwnd)
                {
                    if (newActiveHwnd == hWnd)
                        Console.WriteLine("window activated");
                    else if (lastActiveHwnd == hWnd)
                        Console.WriteLine("window deactivated");
                    lastActiveHwnd = newActiveHwnd;
                }
 
                if (Console.KeyAvailable)
                    break;
 
                Thread.Sleep(500);
            }
        }
    }

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


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

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

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