【问题标题】:How to disable console quick-edit mode如何禁用控制台快速编辑模式
【发布时间】:2020-07-08 07:38:16
【问题描述】:

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

我找到了如何使用“SetConsoleMode”在多种语言中禁用它,但找不到 Delphi 的代码

【问题讨论】:

    标签: delphi console console-application pascal


    【解决方案1】:

    这应该很简单:

    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.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-26
      • 2012-11-19
      • 2015-09-01
      • 2023-03-19
      • 2014-03-15
      • 2017-11-09
      • 2012-10-22
      • 1970-01-01
      相关资源
      最近更新 更多