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

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

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

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

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

textual
Листинг программы
  1.     class Program
  2.     {
  3.         [DllImportAttribute("User32.dll")]
  4.         private static extern int FindWindow(string ClassName, string WindowName);
  5.  
  6.         [DllImportAttribute("User32.dll")]
  7.         private static extern int GetForegroundWindow();
  8.  
  9.         static void Main(string[] args)
  10.         {
  11.             int hWnd = FindWindow(null, "Calculator");
  12.             Console.WriteLine("HWND: " + hWnd);
  13.  
  14.             int lastActiveHwnd = GetForegroundWindow();
  15.             while (true)
  16.             {
  17.                 int newActiveHwnd = GetForegroundWindow();
  18.                 if (newActiveHwnd != lastActiveHwnd)
  19.                 {
  20.                     if (newActiveHwnd == hWnd)
  21.                         Console.WriteLine("window activated");
  22.                     else if (lastActiveHwnd == hWnd)
  23.                         Console.WriteLine("window deactivated");
  24.                     lastActiveHwnd = newActiveHwnd;
  25.                 }
  26.  
  27.                 if (Console.KeyAvailable)
  28.                     break;
  29.  
  30.                 Thread.Sleep(500);
  31.             }
  32.         }
  33.     }

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


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

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

8   голосов , оценка 4.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы