我有一个控制台应用程序,无需用户交互即可执行我的代码.如果用户在控制台窗口内有意或无意地点击,则所有执行都将停止.
这与从控制台窗口复制文本有关.应用程序再次开始执行的唯一方法是,如果用户选择文本,然后右键单击控制台窗口,将其复制到剪贴板.
要查看此操作,请创建一个控制台应用程序并添加以下代码.
class Program
{
static void Main(string[] args)
{
var task = Task.Run(async () =>
{
int i = 0;
while (true)
{
Console.WriteLine(i++);
await Task.Delay(1000);
}
});
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
单击控制台窗口时,任务线程停止执行.这根本不是理想的行为,我想在我的控制台应用程序中防止这种情况发生.
我怎么能阻止这个?据我所知,控制台窗口上的所有属性/事件都与控制此行为无关.