Узнать, какой процесс сейчас активен (открыт) - C#
Формулировка задачи:
Можно ли узнать, открыт ли сейчас у пользователя бразуер? То есть, он сейчас в нем чем-то занимается. Например, вбивает в google какой-нибудь запрос.
Например, узнать, открыт ли у пользователя блокнот и он набирает текст.
Каким способом это можно узнать?
Решение задачи: «Узнать, какой процесс сейчас активен (открыт)»
textual
Листинг программы
[DllImport("user32.dll")] private static extern IntPtr GetForegroundWindow(); public ApplicationState AppState { get { Process[] processCollection = Process.GetProcessesByName(ProcessName); if(processCollection != null && processCollection.Length >= 1 && processCollection[0] != null) { IntPtr activeWindowHandle = Win32.GetForegroundWindow(); //Optional int ProcessID; //Optional Win32.GetWindowThreadProcessId(GetForegroundWindow(),out ProcessID) foreach(Process wordProcess in processCollection) { //Optional if( ProcessID == wordProcess.Id ) return ApplicationState.Focused; if(wordProcess.MainWindowHandle == activeWindowHandle) { return ApplicationState.Focused; } } return ApplicationState.Running; } return ApplicationState.NotRunning; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д