捕获当前活动窗口的屏幕截图

问题描述 投票:1回答:2

因此,我一直在尝试获取当前活动窗口的屏幕截图,并且正在按照Capture screenshot of active window?中给出的答案进行操作>

这是我期望看到的

“

但是由于某些原因,我得到了以下屏幕截图

“实际结果”

这是我获得位图的方式:

public Bitmap Capture()
{
    Rectangle bounds;

    var foregroundWindowsHandle = GetForegroundWindow();
    var rect = new Rect();            
    GetWindowRect(foregroundWindowsHandle, ref rect);

    bounds = new Rectangle(rect.Left, rect.Top, (rect.Right - rect.Left), (rect.Bottom - rect.Top));

    var result = new Bitmap(bounds.Width, bounds.Height);

    using (var g = Graphics.FromImage(result))
    {
        g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size);
    }

    return result;
}

以后将我保存到jpeg文件中的位置

我尝试了上述链接中提出的所有方法

我在这里想念什么?

因此,我一直在尝试获取当前活动窗口的屏幕截图,并且正在遵循“捕获活动窗口的屏幕截图”中给出的答案?这是我希望看到的,但是由于某种原因,我...

c# winforms screenshot
2个回答
0
投票

我对在C#中使用dll不太了解,因此在窗体的尺寸或位图大小上一定是一个错误。这是一个简单干净的代码,对我有用:


0
投票

所以我用Jimi's]评论解决了这个问题,

© www.soinside.com 2019 - 2024. All rights reserved.