获取像素值 "Under" 当前 Window

Getting Pixel Values "Under" Current Window

我正在尝试制作一个屏幕捕获程序,它捕获当前 window 下的像素值。 (我在 Visual Studio 2015 年使用 C# 工作。)但是,由于各种原因,window 本身需要不透明(对于过滤器等)。我怎样才能最好地实现这一目标?

可以在你下面找到 window 并截取它的屏幕截图,即使它被方法隐藏也是如此:PrintWindow (see PInvoke.net)

Copying content from a hidden or clipped window in XP?

在Winforms中做起来非常简单。只需将表单的不透明度值设置为 99%。现在 Graphics.CopyFromScreen() 将不再看到您的 window。

除非你下面的 window 也是分层的 window,否则出于同样的原因,CopyFromScreen() 也看不到它。然后你必须将不透明度设置为 0,复制并将其设置回 0.99。非常快,可能足以满足您的需求。