using System; using System.Runtime.InteropServices; using System.Diagnostics; public class NotepadOne { [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] public static extern IntPtr SetFocus(HandleRef hWnd); [DllImport("USER32.DLL", CharSet = CharSet.Unicode)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] public static extern IntPtr GetForegroundWindow(); public static void PlayAround() { Process[] processList = Process.GetProcesses(); foreach (Process theProcess in processList) { string processName = theProcess.ProcessName; string mainWindowTitle = theProcess.MainWindowTitle; SetFocus(new HandleRef(null, theProcess.MainWindowHandle)); if (processName == "notepad") { NoteFrime(); Console.Write("Мы нашли окно! Ураааа)"); } } } private static void NoteFrime() { IntPtr fg = GetForegroundWindow(); IntPtr rustHandle = FindWindow(null, "Блокнот"); if (rustHandle == fg) { Console.Write("Мы нашли окно! Ураааа)"); } else { Console.Write("Не нашел! Херово!"); } } }
public IntPtr findWindow(string name) { Process pr = Process.GetProcesses().Where(each => each.MainWindowTitle.IndexOf(name) != -1).FirstOrDefault(); return (pr != null) ? pr.MainWindowHandle : IntPtr.Zero; }
IntPtr test = findWindow("Skype"); if (test != IntPtr.Zero) { Console.WriteLine("Окно скайпа найдено!"); } else { Console.WriteLine("Нету окна скайпа = ("); }