Активность окна сторонней программы - 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);
}
}
}