如何防止Print-Screen捕获单个窗口?

时间:2010-06-11 12:21:22

标签: windows winapi

在Media Player运行时,我注意到了几次打印屏幕时,内容被替换为灰色矩形。我不知道是否由于DRM或某些技术问题而故意,但令我感到震惊的是,在某些情况下,能够故意阻止屏幕捕获可能是一个有用的功能。我不是要解决问题,而是复制它!

每个HWND是否有一些特定的消息用于打印屏幕 - Windows是否进行了特殊的重绘或者只是将缓冲区转储到剪贴板?

我想我更愿意专注于Win32,但只要它与Windows相关就好了。

2 个答案:

答案 0 :(得分:3)

您可以使用this method注册热键。 注册PrtScr密钥,您的应用程序将在您的WndProc,WM_HOTKEY中收到一条消息。 一旦你收到了,你可以对你的表单做一些事情来清空显示或其他东西。

即使您的表单最小化,该热键方法也应该有效。

答案 1 :(得分:2)

您必须关闭“使用叠加层”才能截取屏幕截图。

打开Windows Media Player。  选择“工具” - >菜单中的“选项......”。  单击“性能”选项卡。  单击“高级...”按钮。  取消选中“视频加速”组中的“使用叠加层”复选框。  单击“确定”按钮。  单击“确定”按钮