Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 复制和粘贴命令提示符会导致冻结的控制台应用程序继续运行_C#_Multithreading_Visual Studio_Console_Console Application - Fatal编程技术网

C# 复制和粘贴命令提示符会导致冻结的控制台应用程序继续运行

C# 复制和粘贴命令提示符会导致冻结的控制台应用程序继续运行,c#,multithreading,visual-studio,console,console-application,C#,Multithreading,Visual Studio,Console,Console Application,我正在使用Visual Studio和C#编写一个控制台应用程序。我经常将调试信息打印到控制台窗口 该程序相当简单,它只需多次查询多个数据库,并将值存储在我的中央数据库中。它总共做了900多次。在查询数据库时,它会偶尔(随机)在控制台窗口上暂停,并停止打印调试信息或在程序中进一步运行。 奇怪的是,当我突出显示窗口并右键单击(复制)时,这似乎将程序重新启动,并再次开始工作 有人知道这是什么原因吗?这是我以前在程序中见过的最奇怪的行为 如果用户不小心点击了黑色控制台窗口,光标将变为填充的白色矩形,应

我正在使用Visual Studio和C#编写一个控制台应用程序。我经常将调试信息打印到控制台窗口

该程序相当简单,它只需多次查询多个数据库,并将值存储在我的中央数据库中。它总共做了900多次。在查询数据库时,它会偶尔(随机)在控制台窗口上暂停,并停止打印调试信息或在程序中进一步运行。 奇怪的是,当我突出显示窗口并右键单击(复制)时,这似乎将程序重新启动,并再次开始工作


有人知道这是什么原因吗?这是我以前在程序中见过的最奇怪的行为

如果用户不小心点击了黑色控制台窗口,光标将变为填充的白色矩形,应用程序将挂起,直到再次执行clic

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

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

或以编程方式禁用它:

// 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);

哦,我应该指出的是,这绝对是突出和复制的启动程序。我做了大量的测试以确保这不是巧合。