控制台窗口覆盖上的书写

本文关键字:书写 覆盖 窗口 控制台 | 更新日期: 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