Windows 锁屏下,怎么通过 Python 截图运行桌面

2022-01-18 15:41:25 +08:00
 wyds591101

跟各位大佬请求一个问题。

我现在有一个需求是,通过 Python 进行 windows 的全屏截图,但是 Windows 的屏幕是处于锁定状态的。

现在测试,通过 Windows 的 user32 调用的话,直接调用截图功能,只能截取到锁屏的图片,但是通过句柄的方式截图,就只能截取到对应句柄的,还是没有办法截取到运行桌面的截图。

请教:我应该通过什么样的方式截图,才可以在锁屏的情况下,截取到我运行桌面的图片,谢谢。

3086 次点击
所在节点    Python
15 条回复
icepie
2022-01-18 15:44:49 +08:00
先 rdp 进入桌面截屏?
ysc3839
2022-01-18 15:46:02 +08:00
应该没办法,应该是只能截到“当前桌面”的图,锁屏时“当前桌面”是锁屏界面,截不到其他桌面的图。
wyds591101
2022-01-18 15:47:57 +08:00
@icepie 脚本运行的时候,没有连接。还是大佬指定是 python 自己写 rdp 连接进去去截图
wyds591101
2022-01-18 15:48:20 +08:00
@ysc3839 我当前的状态是这样的,锁屏后截图截取到的是当前桌面。
icepie
2022-01-18 16:08:27 +08:00
@wyds591101 我的想法是以当前用户 rdp 登陆进去截图 不知道可信不
wyds591101
2022-01-18 16:26:10 +08:00
@icepie 本机运行 rdp 远程到本机,觉得会有问题,还没有找到 python3 的 rdp 包,找到了一个 py2 的
ch2
2022-01-18 16:32:10 +08:00
没有用户 session 就没有桌面
wyds591101
2022-01-18 16:37:40 +08:00
@ch2 大佬有解决方案吗
minami
2022-01-18 16:52:32 +08:00
注册成服务,然后用 Desktop Duplication 接口截屏
wyds591101
2022-01-18 17:19:46 +08:00
@minami 收到,谢谢,我研究下。
kakalongcn
2022-01-19 13:30:18 +08:00
是云服务器吗?如果是阿里云或者腾讯云,可以通过服务商提供的网页版管理后台登录服务器,运行你的程序,然后再退出远程登录。另外,用向日葵远程登录也可以达到类似效果。
wyds591101
2022-01-19 13:54:07 +08:00
@minami 我没成功,我使用的是 d3dshot
wyds591101
2022-01-19 13:54:41 +08:00
@kakalongcn 不是的,是本地的电脑,默认不远程不使用向日葵 /todesk/tv 之类的
icespace
2022-02-03 11:14:38 +08:00
采用 vnc 控制,桌面设成布自动锁屏,否则没有办法。windows 在锁屏时候布给你渲染桌面,你拿啥都抓不到,因为根本没有
wyds591101
2022-02-06 22:49:37 +08:00
@icespace 嗯 确实什么都没有。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/829012

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX