Контекст моей проблемы:
- У меня приложение Windows .NET (GUI) работает как основной процесс.
- Из этого (родительского) процесса я создаюпара подпроцессов как консольные процессы.
- Основной процесс отправляет данные дочерним процессам через именованные каналы.
- В основном приложении у меня есть список подпроцессов.
Моя проблема в том, что каждая консоль имеет кнопку закрытия ("x") и может быть завершена (каким бы она ни была).Поскольку я храню список созданных консолей в своем основном приложении, я хотел бы знать, когда консоль убита или закрыта.
Моя консольная (дочерний процесс) программа - это просто "main ()" сФункция цикла, которая читает канал (и отображает данные).У него нет системы сообщений или чего-либо еще, что могло бы обработать оконный «выход».
Первая идея, которая приходит мне в голову, - это опрос подпроцессов из основного приложения для обновления списка.Но это означает, что я должен ввести таймер или поток, который наблюдает за консолями.Мне не нравится идея.
У кого-нибудь есть идея получше?