У меня есть процесс... Как в случае его незапланированной смерти (допустим переполнение) восстановить его?.. Нужно создавать процесс который следил бы за этим или есть другой способ?..
в смысле запустить снова? Если да, то так: Код (Text): .586 .model flat .data exe_name db "Shell.exe",0 si STARTUPINFO <> pi PROCESS_INFORMATION <> hExeProcess dd ? .code _start: xor ebx,ebx again: mov si.cb,size STARTUPINFO mov si.dwFlags,STARTF_USESHOWWINDOW mov si.wShowWindow,SW_SHOWNORMAL push offset pi push offset si push ebx push ebx push ebx push ebx push ebx push ebx push offset exe_name push ebx call CreateProcess test eax,eax je exit mov eax,pi.hProcess mov hExeProcess,eax push -1 push eax call WaitForSingleObject push hExeProcess call CloseHandle jmp again exit: push ebx call ExitProcess end _start
"Нужно создавать процесс который следил бы за этим" да если он действительно закилен. Запусти его в режиме отладки, где твоя прога -отладчик. "Как в случае его незапланированной смерти (допустим переполнение) восстановить его?" перепольнение это ещё не смерть писпользуй SEH.