Запуск приложения, затем восстановление после закрытия приложения

У меня есть приложение, которое запускает Блокнот. Я хочу свернуть свое приложение, а затем запустить Notepad.exe. После того, как пользователь закроет блокнот, я хочу, чтобы мое приложение автоматически максимизировало или восстанавливало окно моего приложения. Как я могу сделать это на С#? Я пытаюсь подключиться к процессу notepad.exe и пытаюсь обнаружить событие закрытия окна в блокноте. Я, кажется, слишком много думаю об этом. Есть ли простой способ сделать это?


person Icemanind    schedule 07.05.2011    source источник
comment
Без дополнительной проверки часто вы можете создать процесс Windows, получить идентификатор процесса и настроить таймер для проверки того, что идентификатор процесса все еще работает, а если нет, верните свое приложение.   -  person BugFinder    schedule 07.05.2011
comment
@BugFinder находится на правильном пути - это, вероятно, поможет вам.   -  person Chris Barlow    schedule 07.05.2011
comment
Да, это хорошая идея. Видите ли, я знал, что слишком все усложняю. Поместите свой комментарий в ответ, и я отмечу его как решенный. Спасибо!   -  person Icemanind    schedule 07.05.2011


Ответы (1)


Просто используйте событие Exited, чтобы восстановить окно. Нравится:

    private void button1_Click(object sender, EventArgs e) {
        var prc = new System.Diagnostics.Process();
        prc.StartInfo.FileName = "notepad.exe";
        prc.EnableRaisingEvents = true;
        prc.SynchronizingObject = this;
        prc.Exited += delegate { 
            this.WindowState = FormWindowState.Normal;
            prc.Dispose();
        };
        prc.Start();
        this.WindowState = FormWindowState.Minimized;
    }
person Hans Passant    schedule 07.05.2011