При нажатии Ctrl-c почти всегда появляется дополнительный вывод.Я хотел бы убедиться, что после получения Ctrl-C программа не показывает ничего, кроме, возможно, «^ C».
Я обнаружил, что это в основном тот же вопрос, но это было для Linux и моегоПопытки «портировать» решение с Linux на Windows не увенчались успехом.
На данный момент я не могу попробовать и могу использовать некоторую помощь, которую я обязательно оценю.Спасибо.
Короткая программа, приведенная ниже, страдает от этой проблемы.
{$APPTYPE CONSOLE}
program _SetConsoleCtrlHandler;
uses
Windows,
SysUtils
;
function CtrlHandler(CtrlType : DWORD) : BOOL; stdcall;
begin
result := FALSE;
case CtrlType of
CTRL_C_EVENT,
CTRL_BREAK_EVENT:
begin
result := TRUE;
ExitProcess(7);
end;
end;
end;
var
s : shortstring;
begin
SetConsoleCtrlHandler(@CtrlHandler, TRUE);
while TRUE do
begin
write('press <ctrl-c> to end this program : ');
readln(s);
end;
end.