zoukankan      html  css  js  c++  java
  • Win10中的控制台程序会被鼠标单击暂停运行的解决办法

    一、背景

      最近写一个实时监控物品服务的控制台程序,发现win10系统中控制台程序会因为鼠标单击导致程序不继续执行,需要点击回车enter才能继续执行,有时会影响程序功能,在网上找到一些资料才发现是win10一个bug,网上有很多人遇到同样的问题。

    二、原因

       Win10控制台程序打印输出信息过程中,如果使用鼠标左键点击控制台,则控制台进入“快速编辑模式”,此时会阻塞主线程,停止打印输出,此时点击鼠标右键或者按“Enter”键即可取消该模式。但是,取消后,控制台不在打印调试信息。

    三、解决方法

    1.第一种方法:

    在实时监控物品服务的控制台程序,右键单击顶部白框,选择属性或默认值

    去掉勾选"快速编辑模型",点击确定

     2. 第二种方法:

    用C#关闭Console application的quick edit模式

      #region 关闭Console application的quick edit模式
            //关闭 cmd 窗口默认为快速编辑(quickedit),解决控制台程序,鼠标点击暂停运行
    
            const int STD_INPUT_HANDLE = -10;
            const uint ENABLE_QUICK_EDIT_MODE = 0x0040;
            [DllImport("kernel32.dll", SetLastError = true)]
            internal static extern IntPtr GetStdHandle(int hConsoleHandle);
            [DllImport("kernel32.dll", SetLastError = true)]
            internal static extern bool GetConsoleMode(IntPtr hConsoleHandle, out uint mode);
            [DllImport("kernel32.dll", SetLastError = true)]
            internal static extern bool SetConsoleMode(IntPtr hConsoleHandle, uint mode);
    
    
            public static void DisbleQuickEditMode()
            {
                IntPtr hStdin = GetStdHandle(STD_INPUT_HANDLE);
                uint mode;
                GetConsoleMode(hStdin, out mode);
                mode &= ~ENABLE_QUICK_EDIT_MODE;
                SetConsoleMode(hStdin, mode);
    
            }
            #endregion
          static void Main(string[] args)
            {
                DisbleQuickEditMode();
             } 

    四、参考资料

    C#关闭Console application的quick edit模式:https://blog.csdn.net/blizzardlyk/article/details/44810015

    手动解决方法:https://blog.csdn.net/qingyang8513/article/details/88865955

     

  • 相关阅读:
    Java三大特性与实战
    Java数组
    Java流程控制,for,switch,while.break,continue,return
    洛谷——P1498 南蛮图腾
    洛谷——P1010 幂次方
    洛谷——P1147 连续自然数和
    洛谷——P1514 引水入城
    洛谷——1538 迎春舞会之数字舞蹈
    普及练习场之排序Ex
    普及练习场之排序
  • 原文地址:https://www.cnblogs.com/qy1234/p/12613887.html
Copyright © 2011-2022 走看看