zoukankan      html  css  js  c++  java
  • 【疑难杂症】c#控制台应用程序卡输出

    Q:

    控制台程序不断输出文本到控制台界面上,偶尔会有卡顿的现象

    鼠标点上去会有一个白色方块,按任意键又可以正常执行。

    如以下代码:

    while(true){
         Console.Writeline("running");
         Thread.Sleep(1000*5);
    }

    A:

    如果用户意外地点击黑色控制台窗口,光标将变为一个填充的白色矩形,并且应用程序将在下一个Console.Write语句中挂起,直到另一个clic被创建。

    当“快速编辑模式”启用时,它是控制台窗口的通用功能。

    为了禁用该功能,您应该在运行时取消选中应用程序控制台窗口的“快速编辑模式”选项

    c#代码:

    // http://msdn.microsoft.com/en-us/library/ms686033(VS.85).aspx
        [DllImport("kernel32.dll")]
        public static extern bool SetConsoleMode(IntPtr hConsoleHandle, uint dwMode);
    
        private const uint ENABLE_EXTENDED_FLAGS = 0x0080;
    
        static void Main(string[] args)
        {
             IntPtr handle = Process.GetCurrentProcess().MainWindowHandle;
             SetConsoleMode(handle, ENABLE_EXTENDED_FLAGS);

    R:

    参考

     
  • 相关阅读:
    装饰器详解
    面试题求 平衡点
    Python面试题
    With语句上下文管理
    多个装饰器修饰一个函数
    NGINX部署配置参考.
    Django ORM操作
    MYsql 之多表查询.
    [数据结构与算法] : 二叉查找树
    [数据结构与算法] : 队列
  • 原文地址:https://www.cnblogs.com/Zdelta/p/14122312.html
Copyright © 2011-2022 走看看