【问题标题】:How to capture the entire screen DC, like in windows Snipping Tool?如何捕获整个屏幕 DC,就像在 windows 截图工具中一样?
【发布时间】:2015-08-01 21:43:50
【问题描述】:

我正在尝试在 Windows 中实现我自己的截图工具。现在我被区域选择困住了:我需要锁定屏幕以允许用户选择要保存的区域。和原程序一样,当它被激活时,截图工具窗口后面的屏幕区域会变得苍白和不活跃,所有的绘图动作,比如浏览器中的视频,都会被中断。
在我在 Delphi 上的早期实现中,我在屏幕区域上使用了大窗口并在其上移动了屏幕截图,但这肯定是一个糟糕的解决方案。你有什么建议?
我只使用winapi。 没有 qt 或类似的东西。

【问题讨论】:

  • 您似乎对自己保密。我看不出您实施的解决方案有什么不好的地方。为什么它“肯定不好”
  • 因为截图工具使用了更好的东西
  • "Something niceer" 不是一个很有帮助的规范。如果您没有足够详细地解释您要解决的问题,您将不会收到太多反馈。
  • 好的,那么,不要在屏幕上使用大窗口来锁定屏幕活动。
  • 截图工具不会停用或锁定任何东西,褪色区域只是创建新截图时拍摄的桌面图像。

标签: c++ windows winapi gdi


【解决方案1】:

您可以使用 WinAPI 中的GetDC() 函数,指定NULL 作为第一个参数:

参数

hWnd [in]

要检索其DC 的窗口句柄。如果这个值是 NULLGetDC 检索整个屏幕的 DC

【讨论】:

  • 在此之后如何锁定屏幕活动?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-05
相关资源
最近更新 更多