我试图制作一个屏幕捕获程序,它捕获当前窗口下的像素值。 (我在Visual Studio 2015中使用C#工作。)但是,由于各种原因,窗口本身需要是不透明的(对于过滤器等)。我怎样才能最好地实现这个目标?
答案 0 :(得分:2)
有可能找到您下方的窗口并获取它的屏幕截图,即使它隐藏了方法:PrintWindow(另请参阅PInvoke.net)
答案 1 :(得分:2)
在Winforms中这很简单。只需将表单的不透明度值设置为99%即可。现在Graphics.CopyFromScreen()将不再看到你的窗口了。
除非您下面的窗口也是分层窗口,否则CopyFromScreen()也不会出于同样的原因。然后你必须将不透明度设置为0,复制并将其设置回0.99。非常快,可能对你想做的事情足够好。