Имам приложение, което стартира Notepad. Това, което искам да направя, е да минимизирам приложението си, след което да стартирам Notepad.exe. След като потребителят затвори бележника, бих искал приложението ми автоматично да увеличи или възстанови прозореца на приложението ми. Как мога да направя това в C#? Проучвам да се закача в процеса notepad.exe и се опитвам да открия събитие за затваряне на прозорец на notepad. Изглежда обаче прекалявам с това. Има ли лесен начин да направите това?
Стартиране на приложение, след което възстановяване след затваряне на приложението
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