Можно попросту запускать свою собственную программу посредством cmd.exe. 
| Код | program Project1;
{$APPTYPE CONSOLE}
uses Windows, SysUtils;
procedure RestartWithCmd; var _si: STARTUPINFO; _pi: PROCESS_INFORMATION; SysDir: array[0..MAX_PATH - 1] of Char; CmdPath: string; begin GetSystemDirectory(SysDir, MAX_PATH); CmdPath := string(SysDir) + '\cmd.exe'; ZeroMemory(@_si, SizeOf(_si)); _si.cb := SizeOf(STARTUPINFO); if CreateProcess(PChar(CmdPath), PChar(CmdPath + ' /C "color fc&&"' + ParamStr(0) + '" -cmd"'), nil, nil, False, CREATE_DEFAULT_ERROR_MODE, nil, nil, _si, _pi) then begin CloseHandle(_pi.hProcess); CloseHandle(_pi.hThread); end else MessageBox(0, PChar(SysErrorMessage(GetLastError())), nil, MB_OK); end;
begin { если программа запущена непосредственно, то перезапустить через cmd.exe } if ParamCount() < 1 then begin RestartWithCmd(); Exit; end;
{ отсюда стартует основной код программы } Writeln('Lorem ipsum dolor sit amet'); Readln; end.
|
На время отладки перезапуск через cmd.exe можно временно отключить. |