Добрый вечер!
Написал программу для контроля за серверами. Сделал контролл, который запускает консоль(можно много) с ожиданием полной инициализации WaitForInputIdle, ожидание падения MsgWaitForMultipleObjects в таймере (waiter не стал использовать, так как и таймера хватает).. Помимо этого у каждой консоли ищуются messagebox'ы (так как из за них консоль замораживается, пока не закроешь msgbox вручную), если msgbox найден ему отсылается Postmessage и/или Sendmessage c WM_QUIT и WM_CLOSE соответственно. Помимо этого из msgbox вытягивается текст ошибки. При падении консоль перезапускается.
НО! Все это дело работает и выполняет все что я задумал... Консоли перезапускаются, msgbox'ы закрываются.. Помимо этого моя программа не замораживается и нет ни малейших задержек (я имею ввиду графический интерфейс, с которым можно беспрепятственно продолжать работать). Я тестировал ее, она без проблем держала 7 игровых серверов (WinXP), перезапускала, закрывала ошибки, за всем этим я смотрел долго и по всякому пытался навредить, чтобы она хоть как бы упала или что-то произошло.. Нет - все впорядке... Настало время запустить на рабочих серверах (Win Server 2003 R2 /Intel Xeon 3,20 / 8gb memory).. залил, запустил (через Удаленный рабочий стол).. Все работает. Вижу через Web что один сервер лежит, только зашел, программа тут же начинает быстренько выполнять свои обязанности, я даже ничего не успел сделать (словно слесари сидевшие в подсобке при виде начальства начинают "суетиться" ). В чем может быть загвостка, я даже незнаю на что подумать и в какую сторону копать ?