我的 Windows 程序使用 GetDC 然后 BitBlt 复制 Windows 的内容。这适用于大多数窗口,但使用放大镜窗口时我会得到一个空白屏幕。无论是我使用 Magnification API 自己创建的放大镜还是内置的 Windows 7 放大镜,都会发生这种情况。
这种行为是设计使然,是否有解决方法?
我的 Windows 程序使用 GetDC 然后 BitBlt 复制 Windows 的内容。这适用于大多数窗口,但使用放大镜窗口时我会得到一个空白屏幕。无论是我使用 Magnification API 自己创建的放大镜还是内置的 Windows 7 放大镜,都会发生这种情况。
这种行为是设计使然,是否有解决方法?
是的,这是设计使然;放大镜窗口不会自己绘制客户区;相反,他们使用DWM复制/放大其他一些区域。没有公开的解决方法;这些位在视频卡本身上得到有效管理,并且没有可用的反向通道。