【问题标题】:Take screenshot of desktop when Windows is locked (Win+L)Windows 锁定时截取桌面截图 (Win+L)
【发布时间】:2010-08-13 07:33:12
【问题描述】:

我想在 Windows 锁定(使用 Win+L)时截取桌面屏幕截图。标准方法黑屏,像素代码:

COLORREF color = GetPixel(hdc, x, y);

等于-1。用户模式程序和服务都不能捕获有用的图像。有什么想法吗?

【问题讨论】:

  • 您是想获取解锁后会显示的桌面图像,还是锁定屏幕本身的照片?
  • 我正在尝试截屏显示是否已解锁,Winlogon 的屏幕截图我不感兴趣)

标签: c windows winapi screenshot winlogon


【解决方案1】:

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

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

【讨论】:

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