在控制台窗口覆盖上写?

Ash*_*ore 4 c# console-application

我似乎无法发现的是,如果在C#控制台应用程序中可以在现有窗口顶部的某种层中写入文本,而在文本中写入进度条或信息.

我已经看到了执行它的power shell cmdlet,显示进度条,然后当它完成时,进度条消失,下面的任何内容都可见.即使额外的控制台输出导致窗口滚动,我看到的栏也会保持原位.

任何想法?

编辑:以下是使用Write-Progress执行此操作的PowerShell的示例

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

Jim*_*hel 5

很可能他们正在使用控制台屏幕缓冲区.也就是说,它们保存当前缓冲区并为应用程序创建一个新缓冲区.应用程序完成后,它会返回原始屏幕缓冲区.

几年前我写了一篇关于在.NET中使用Console Screen Buffers的文章.查看http://www.devsource.com/article2/0,1895,2011496,00.asp

完整资源可从http://www.mischel.com/pubs/consoledotnet/consoledotnet.zip获得