mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 23:21:57 +02:00
* add CtrlC for go32v2 and checks for windows calls
git-svn-id: trunk@6120 -
This commit is contained in:
parent
fcac5238fd
commit
07327f9301
@ -48,8 +48,13 @@ Procedure RestoreConsoleMode(const ConsoleMode : TConsoleMode);
|
||||
implementation
|
||||
{$ifdef Windows}
|
||||
uses
|
||||
wutils,
|
||||
windows;
|
||||
{$endif Windows}
|
||||
{$ifdef GO32V2}
|
||||
uses
|
||||
Dpmiexcp;
|
||||
{$endif GO32V2}
|
||||
|
||||
Procedure SaveConsoleMode(var ConsoleMode : TConsoleMode);
|
||||
Begin
|
||||
@ -57,10 +62,15 @@ Begin
|
||||
TCGetAttr(1,ConsoleMode);
|
||||
{$endif UNIX}
|
||||
{$ifdef Windows}
|
||||
GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),ConsoleMode);
|
||||
if not GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),ConsoleMode) then
|
||||
DebugMessage('','Call to GetConsoleMode failed, GetLastError='+
|
||||
IntToStr(GetLastError),0,0);
|
||||
{$endif Windows}
|
||||
{$ifdef go32v2}
|
||||
ConsoleMode:=0;
|
||||
if djgpp_set_ctrl_c(false) then
|
||||
ConsoleMode:=1
|
||||
else
|
||||
ConsoleMode:=0;
|
||||
{$endif go32v2}
|
||||
{$ifdef netware}
|
||||
ConsoleMode:=0;
|
||||
@ -73,9 +83,12 @@ Begin
|
||||
TCSetAttr(1,TCSANOW,ConsoleMode);
|
||||
{$endif UNIX}
|
||||
{$ifdef Windows}
|
||||
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),ConsoleMode);
|
||||
if not SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE),ConsoleMode) then
|
||||
DebugMessage('','Call to SetConsoleMode failed, GetLastError='+
|
||||
IntToStr(GetLastError),0,0);
|
||||
{$endif Windows}
|
||||
{$ifdef go32v2}
|
||||
djgpp_set_ctrl_c((ConsoleMode and 1)<>0);
|
||||
{$endif go32v2}
|
||||
End;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user