C#屏幕截图忽略应用程序

时间:2013-11-12 21:03:31

标签: c# wpf screenshot

我目前正在使用一个函数库,该函数需要我捕获屏幕,包括生成它的应用程序wpf应用程序。出现的问题是当函数执行时(底部的代码),保存的图像忽略了应用程序,例如,它的图标仍在任务栏上,但它不可见,但其他窗口“在它后面”。我一直无法改变它,以便应用程序本身在图像的中心位于前面,即使它应该是无关紧要的。

using (Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height))
        {
            Thread.Sleep(1000);
            using (Graphics graphics = Graphics.FromImage(printscreen as Image))
            {
                graphics.CopyFromScreen(0, 0, 0, 0, printscreen.Size);
                printscreen.Save(FilePath, ImageFormat.Jpeg);
            }
        }

非常感谢任何帮助。

编辑: 好吧......奇怪的是,在重新启动计算机之后,代码工作正常,我的所有同胞都在机器上工作,我不确定之前是什么造成了问题,但似乎不再存在。

2 个答案:

答案 0 :(得分:0)

我在控制台应用中尝试了此代码,但我发现没有问题。确保在进行CopyFromScreen()调用时,应用程序的窗口不会最小化并且可见。

答案 1 :(得分:0)

嗯......奇怪的是,在重新启动计算机之后,代码工作正常,我的所有同胞都在机器上工作,我不确定之前是什么造成了问题,但似乎没有存在的时间更长。