Для * сильный текст * приложение для наблюдения. Вы должны создать таймер на окно обслуживание и код что-то вроде этого в случае клещевого таймера:
Process[] procs = Process.GetProcessesByName("you app name");
if (procs.Length == 0)
Process.Start("your app filename");
, если вы действительно не можете сделать что-нибудь о проблеме аварии я бы рекомендовал попробовать-улов вместо наблюдателя.(Не забудьте повторно бросить обрабатываемые основные исключения)
[STAThread]
static void Main()
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
catch(Exception ex)
{
//log the exception here
Application.Restart();
}
}
Просто не забывайте что для этого требуется, по крайней мере, Vista/Windows Server 2008. –
У меня есть XP сейчас, но если есть проблема с внешним видом (сбой в Windows), как мое приложение может перезагрузиться (после перезагрузки Windows)? – bidak
Для более старых версий окон у вас может быть свой собственный seconary exe для мониторинга основного приложения. – zproxy