security - 捕获不可见(即锁定)的虚拟桌面
问题描述
对于测试自动化,我想捕获一个不可见的虚拟桌面。它甚至无法访问,因为显示的是安全桌面。
我知道可以连接到复合管理器(“dwm”)以捕获该桌面上的每个窗口。而且我知道可以将事件发送到该桌面上的窗口。(我知道,否则测试工具将无法工作)
在我开始重新实现复合管理器之前:是否可以从 dwm 获取 DesktopWindow,如果可以,即使显示安全桌面,我如何强制 dwm 完成其工作?
如果我不得不咬紧牙关并且需要自己进行合成,那么将所有窗口从底部排列到汤姆并将它们渲染为某个图像的最快方法是什么?
win10捕获api是否适用于隐形桌面?
解决方案
回答最后一个问题:不,新的 win10 捕获 API 没有帮助。例如程序
https://github.com/robmikh/SimpleRecorder/tree/master/SimpleRecorder
无法捕获锁定的桌面,也无法捕获子窗口。
以上是详细版本:
GDI32Util.getScreenshot(句柄)
句柄是桌面窗口(锁定时不工作)或其他一些窗口句柄(锁定时工作,但错过子窗口)。
所以唯一的选择是从下到上按z顺序遍历所有窗口。
推荐阅读
- node.js - 如何修复 npm:未找到错误
- r - rcpp 文件中有多个函数且没有匹配的函数
- ios - iOS 鸭其他过铃声
- java - 什么是 Vaadin UI 以及如何在 UI 之间导航
- pandas - 联合行计算平均值/总和
- php - 如何修复 Visual Studio Code 中的以下 phpcs 错误?
- vue.js - Vuex-map-fields 通过模块更新多个 store
- r - 如何标准化面板数据框中的选定列
- spring - Eclipselink / Spring Boot 与 Gradle。为 QueryDslPredicateExecutor 获取 ClassNotFoundException
- python - 使用 Python Plotly 自定义 Networkx 图(或 Scatter)