Программно проверять, открыта ли данная программа - C#

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

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

Например, мне нужно проверять, открыта ли программа "Media Player", если да, то включать таймер и делать определенные действия....Как сделать проверку активности окна ? Media Player - окно - активна, то включать таймер, если Media Player - окно - неактивно, свёрнуто, то выключить таймер ? P.S.: Консольное приложение

Решение задачи: «Программно проверять, открыта ли данная программа»

textual
Листинг программы
using System;
using System.Runtime.InteropServices;
using System.Threading;
 
namespace WinFoc
{
    class Program
    {
        [DllImport("user32.dll")]
        public static extern int GetForegroundWindow();
 
        [DllImport("user32.dll")]
        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
 
        static void Main(string[] args)
        {
            // Имя окна приложения
            string App = "AkelPad";
 
            // Цикл проверки
            do
            {
                // Получение дескриптора окна
                IntPtr WindowHandle = FindWindow(null, App);
 
                // Проверка является ли активным окно
                if (GetForegroundWindow() == (int)WindowHandle)
                    Console.WriteLine(App + "   true");
                else
                    Console.WriteLine(App + "  false");
 
                Thread.Sleep(1000); // здесь пауза между опросами
                                            // вместо или после нее может быть счетчик
 
            } while (true);
        }
    }
}

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


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

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

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