/// <summary>
/// The GetForegroundWindow function returns a handle to the foreground window (the window with which the user is currently working).
/// </summary>
[DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();
<DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function GetForegroundWindow() As IntPtr
End Function
None.
None.
Please add some!
public ApplicationState AppState
{
get
{
Process[] processCollection = Process.GetProcessesByName(ProcessName);
if(processCollection != null && processCollection.Length >= 1 &&
processCollection[0] != null)
{
IntPtr activeWindowHandle = Win32.GetForegroundWindow();
foreach(Process wordProcess in processCollection)
{
if(wordProcess.MainWindowHandle == activeWindowHandle)
{
return ApplicationState.Focused;
}
}
return ApplicationState.Running;
}
return ApplicationState.NotRunning;
}
}
Do you know one? Please contribute it!