避免使用printcreen功能渲染文本

时间:2009-06-02 03:54:31

标签: c++ opengl

我希望实现一种方法来避免用户从一个桌面应用程序中截取屏幕截图。是的,这似乎是奇怪的要求,但我们需要它。我试图使用OpenGL(SDL_tff)来渲染文本,但似乎并没有阻止用户截取屏幕截图。请问,有没有人对如何做到这一点有一些聪明的想法?

5 个答案:

答案 0 :(得分:3)

将其渲染为视频并使用硬件叠加层。这些更难以捕获,因为它们在技术上从未像其他应用程序一样呈现在屏幕上。它直接进入硬件并通过显卡显示,绕过正常的屏幕截图域。

但它仍然可以抓住。

个人而言,我会拍摄一张高分辨率照片并通过img2txt转换器运行:D

编辑:查看http://www.gamedev.net/community/forums/topic.asp?topic_id=359319,它们似乎有一个例子,它特别说明效果的“屏幕截图”有点傻。

答案 1 :(得分:2)

正如我在评论中提到的,你不能阻止用户截取屏幕截图。

可能有一些事情可以让它变得更加困难,并且可能会阻止知识渊博或驱使个人截取屏幕截图。

建议:您可能想要查看经常用于截屏的组合键,然后暂时隐藏您的文字。 可能获得您正在寻找的行为:允许用户截取屏幕截图而不显示文字。

另一个选择是提供一种非常简单明了的方法让应用程序为用户截取屏幕截图,而不保存文本。如果您没有尝试使文本“不可能”捕获,而是用户希望屏幕截图没有文本,这可能很有用。

从您的问题中不清楚您的请求背后的动机是什么。如果你只想拥有没有文字的“更漂亮”的截图,这应该不是一个难以解决的问题:就像我之前提到的那样,并提供一个内置的机制来保存“干净”的截图。

请记住,如果用户想要保存该文字,则无法阻止他们这样做。

答案 2 :(得分:1)

你无法实现自己想要的目标。事实上,你想要的是荒谬的。

答案 3 :(得分:1)

即使你找到一些聪明的方法来阻止他们用电脑做, 使用优质的数码相机拍摄他们的显示器提供的照片 一个非常好的质量截图。

答案 4 :(得分:0)

不要忘记添加VM detection routines,以便在发现您在虚拟机下运行时可以禁用显示。这样他们就无法截取VM窗口的截图。

除非他们修改一个开放的虚拟机以删除那种简单的告密,否则你将不得不使用stronger