Delphi 如何禁用控制台快速编辑模式

Delphi 如何禁用控制台快速编辑模式,delphi,console,console-application,pascal,Delphi,Console,Console Application,Pascal,当我点击正在运行的控制台时,它会冻结应用程序,直到我完成选择 我发现如何使用“SetConsoleMode”在多种语言中禁用它,但找不到Delphi的代码这应该很简单: program Project1; {$APPTYPE CONSOLE} {$R *.res} uses Windows, System.SysUtils; const ENABLE_QUICK_EDIT_MODE = $40; ENABLE_EXTENDED_FLAGS = $80; var h: N

当我点击正在运行的控制台时,它会冻结应用程序,直到我完成选择


我发现如何使用“SetConsoleMode”在多种语言中禁用它,但找不到Delphi的代码这应该很简单:

program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  Windows, System.SysUtils;

const
  ENABLE_QUICK_EDIT_MODE = $40;
  ENABLE_EXTENDED_FLAGS = $80;

var
  h: NativeUInt;
  OldMode: Cardinal;

begin

  h := GetStdHandle(STD_INPUT_HANDLE);
  if not (
    GetConsoleMode(h, OldMode) and
    SetConsoleMode(h, OldMode and not ENABLE_QUICK_EDIT_MODE or ENABLE_EXTENDED_FLAGS)
  )
  then
    RaiseLastOSError;

  // Do stuff

end.