Спасибо за ваши ответы. Благодаря вам здесь, я понял, как узнать, находится ли главное окно процесса впереди или нет:
N.B. Конечно, для этого нужны System.Diagnostic и System.Runtime.Interrop
public bool IsWindowActive(Int32 PID)
{
return IsWindowActive(Process.GetProcessById(PID));
}
[DllImport("user32.dll")]
private static extern
IntPtr GetForegroundWindow();
public bool IsWindowActive(Process proc)
{
proc.Refresh();
return proc.MainWindowHandle.Equals(GetForegroundWindow());
}