创建表单背后所有内容的屏幕截图

时间:2014-10-12 01:50:00

标签: c# wpf screenshot

当我创建整个屏幕的屏幕截图时,
一切都在截图上,也是我程序的gui。

有没有任何方法可以实现干净桌面的屏幕截图 在屏幕截图之后最小化我的表单并恢复?

解决方案: 看起来你必须使窗口不可见,然后将其最小化。但是,如果在最小化之前将ShowInTaskbar设置为false,则会导致一个尴尬的错误(请参阅下面评论中的某处)

1 个答案:

答案 0 :(得分:0)

从你的节目的角度来看,屏幕只是一个图像,所以如果你的表格在那里,那么什么都没有"将会"落后"它。您必须最小化或使您的表单不可见,以达到您想要的效果。

据我所知,没有操作系统允许您访问其图形管道,获取一个"截图"是一项艰巨的任务。恰好在您的表单打印之前(考虑到您可以授予您的表单是屏幕中最后打印的项目)。

无论如何,要走的路是:

  • 最小化您的表单或使其不可见:" this.WindowState = FormWindowState.Minimized;" ," this.Visible = false;"
  • 从任务栏中隐藏" this.ShowInTaskbar = false;"
  • 使用" CopyFromScreen"。
  • 截取屏幕截图

然后最大化您的表单并使其再次出现在任务栏中。