我们需要我们的应用程序的屏幕截图来进行单元测试。CaptureScreen()并CopyFromScreen()以某种方式忽略该应用程序并返回空桌面的图片。所以我们写了这个来伪造PrtScn击键:
public static Bitmap GetAltScreenshot()
{
    Clipboard.Clear();
    SendKeys.SendWait("{PRTSC}");
    while (!Clipboard.ContainsImage())
    {
        Thread.Sleep(500);
    }
    return new Bitmap(Clipboard.GetImage());
}
Alt不是击键的一部分,所以这应该返回整个屏幕的位图。然而不知何故,这个片段只返回了焦点窗口。这很好,这解决了我们的问题 - 但我们不明白如何。
为什么这只会返回聚焦窗口的镜头,而不是整个显示器?