捕获不可见(即已锁定)的虚拟桌面

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

对于测试自动化,我想捕获一个不可见的虚拟桌面。由于显示了安全桌面,甚至无法访问它。

我知道可以连接到复合管理器(“ dwm”)来捕获该桌面上的每个窗口。我想可以将事件发送到该桌面上的Windows。 (我知道这是因为否则测试工具将无法正常工作)

开始重新实现复合管理器之前:是否可以从dwm获取DesktopWindow,如果可以,即使显示了安全的桌面,如何强制dwm执行其工作?

如果我不得不硬着头皮,需要自我约束,那么将所有窗口的底部排列成tom并渲染成某些图像的最快方法是什么?

win10捕获api是否可用于不可见的桌面?

security screenshot desktop
1个回答
0
投票

要回答最后一个问题:不,新的win10捕获API无效。例如程序

https://github.com/robmikh/SimpleRecorder/tree/master/SimpleRecorder

无法捕获锁定的桌面,也无法捕获子窗口。

以上是精心制作的版本:

GDI32Util.getScreenshot(handle)

句柄是桌面窗口(锁定时可以工作)或其他窗口句柄(锁定时可以工作,但错过了子窗口)。

因此,唯一的选择是以z顺序从下到上遍历所有窗口。

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