Стартиране на приложение, след което възстановяване след затваряне на приложението

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


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