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】:

当桌面没有实际显示在显示器上时,GetPixelBitBlt 将不起作用。

使用PrintWindow 捕获单个窗口可能会有一些运气。但是,并非所有应用程序都以相同的方式响应 PrintWindow 调用,因此您可能会看到故障和/或黑屏。您还需要单独捕获每个窗口。

【讨论】:

我没看错:你建议组织一个循环,对每个人的窗口进行截图?如果我将使用 HWND 参数等于 0,它会复制到 DC 所有桌面?尽管如此,还是谢谢你。 它会要求桌面将自己绘制成您选择的HDC,我认为这会为您提供用户壁纸的副本,可能还有他们的图标。 Anticreativshik,你有什么结果吗? Cees,是的,有结果,但结果是否定的。我无法以这种方式获得任何图像,我们在 bugtracker 中关闭了带有“按设计”标记的工单

以上是关于Windows 锁定时截取桌面截图 (Win+L)的主要内容,如果未能解决你的问题,请参考以下文章

如何截取完整桌面Windows c#的屏幕截图[关闭]

Windows快捷键

windows截取右键菜单截图

windows自带的比微信好用的截图工具:截取任意形状图片,标尺画直线,窗口图精准截取

windows自带的比微信好用的截图工具:截取任意形状图片,标尺画直线,窗口图精准截取

win7系统都有哪些快捷键