Windows 锁定时截取桌面截图 (Win+L)
Posted
技术标签:
【中文标题】Windows 锁定时截取桌面截图 (Win+L)【英文标题】:Take screenshot of desktop when Windows is locked (Win+L) 【发布时间】:2010-08-13 07:33:12 【问题描述】:我想在 Windows 锁定(使用 Win+L)时截取桌面屏幕截图。标准方法黑屏,像素代码:
COLORREF color = GetPixel(hdc, x, y);
等于-1。用户模式程序和服务都不能捕获有用的图像。有什么想法吗?
【问题讨论】:
您是想获取解锁后会显示的桌面图像,还是锁定屏幕本身的照片? 我正在尝试截屏显示是否已解锁,Winlogon 的屏幕截图我不感兴趣) 【参考方案1】:当桌面没有实际显示在显示器上时,GetPixel
和 BitBlt
将不起作用。
使用PrintWindow
捕获单个窗口可能会有一些运气。但是,并非所有应用程序都以相同的方式响应 PrintWindow
调用,因此您可能会看到故障和/或黑屏。您还需要单独捕获每个窗口。
【讨论】:
我没看错:你建议组织一个循环,对每个人的窗口进行截图?如果我将使用 HWND 参数等于 0,它会复制到 DC 所有桌面?尽管如此,还是谢谢你。 它会要求桌面将自己绘制成您选择的HDC
,我认为这会为您提供用户壁纸的副本,可能还有他们的图标。
Anticreativshik,你有什么结果吗?
Cees,是的,有结果,但结果是否定的。我无法以这种方式获得任何图像,我们在 bugtracker 中关闭了带有“按设计”标记的工单以上是关于Windows 锁定时截取桌面截图 (Win+L)的主要内容,如果未能解决你的问题,请参考以下文章
windows自带的比微信好用的截图工具:截取任意形状图片,标尺画直线,窗口图精准截取