Программно проверять, открыта ли данная программа - 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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д