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