控制台窗口覆盖上的书写
本文关键字:书写 覆盖 窗口 控制台 | 更新日期: 2023-09-27 18:20:15
我似乎找不到的是,在C#控制台应用程序中,是否可以在现有窗口顶部的某个层中写入文本,并为进度条或信息写入文本。
我见过powershell cmdlet这样做,显示进度条,然后当进度条完成时,进度条就会消失,下面的东西都是可见的。即使额外的控制台输出导致窗口滚动,我看到的条也会保持原位。
有什么想法吗?
编辑:下面是一个powershell使用Write Progress 的例子
http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-18-metablogapi/8726.WES_2D00_1_2D00_29_2D00_11_2D00_2_5F00_2587E97F.jpg
很可能他们正在使用控制台屏幕缓冲区。也就是说,它们保存当前缓冲区并创建一个新的缓冲区供应用程序使用。应用程序完成后,会将原始屏幕缓冲区放回。
几年前,我写了一篇关于在.NET中使用控制台屏幕缓冲区的文章。退房http://www.devsource.com/article2/0,1895201149600.asp
完整来源可在http://www.mischel.com/pubs/consoledotnet/consoledotnet.zip