Хочу организовать метод doublerun на делфи. Суть такова - один процесс следит запущен ли другой а другой следит за первым. Если один из них умерает другой запускает его опять. Уже делал раз такое - работало наура. Сорцы потеряны. Вот собственно код, непойму почему неработает. Code: {$APPTYPE CONSOLE} program test; uses SysUtils, Windows, Shellapi; const mutex1 :string = 'ABDCDBEFBDEBFAB'; mutex2 :string = 'EFDACBDFEABDCDF'; Begin if (OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex1)) = 0) then Begin CreateMutex(nil, false, Pchar(mutex1)); Writeln(mutex1); End else Begin if (OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex2)) = 0) then Begin CreateMutex(nil, false, Pchar(mutex2)); Writeln(mutex2); End End; while true do begin sleep(1000); writeln(OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex1))); writeln(OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex2))); if (OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex1)) > 0) and (OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex2)) > 0) Then Begin end else Begin Shellapi.ShellExecute(0,'open',pchar(Paramstr(0)),'','',1); sleep(10); End; end; End.