C++ 避免打印屏幕函数渲染文本

C++ 避免打印屏幕函数渲染文本,c++,opengl,C++,Opengl,我希望实现一种避免用户从一个桌面应用程序截图的方法。是的,问这个似乎很奇怪,但我们需要它。我尝试使用OpenGL(SDL_tff)来渲染文本,但这似乎并不能阻止用户拍摄屏幕截图。请问,有人对如何做有什么聪明的想法吗?你不能完成你想要的。事实上,你想要的是毫无意义的。即使你找到了一些聪明的方法阻止他们用电脑做这件事, 使用高质量的数码相机为他们的显示器拍照 质量非常好的截图。正如我在评论中提到的,你不能阻止用户截图 不过,你可以做一些事情来让它变得更难,也许可以阻止知识不多或缺乏干劲的人拍摄截图

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

你不能完成你想要的。事实上,你想要的是毫无意义的。

即使你找到了一些聪明的方法阻止他们用电脑做这件事, 使用高质量的数码相机为他们的显示器拍照
质量非常好的截图。

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

不过,你可以做一些事情来让它变得更难,也许可以阻止知识不多或缺乏干劲的人拍摄截图

一个建议:你可能想要观察那些经常用于截图的组合键,然后简单地隐藏你的文本。它可能会得到你想要的行为:允许用户在不显示文本的情况下截图

另一种选择是提供一种非常简单和明显的方式,让应用程序在不保存文本的情况下为用户截图。如果您不想让文本“不可能”捕获,而是用户希望屏幕截图不包含文本,那么这可能很有用

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


请记住,如果用户确实想保存该文本,您无法阻止他们这样做。

将其渲染为视频并使用硬件覆盖。因为从技术上讲,它们从未像其他应用程序一样呈现在屏幕上,所以捕获起来要困难得多。它直接进入硬件并通过图形卡显示,绕过正常的屏幕截图域

但它仍然可以抓取

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

编辑:看看吧,他们似乎有一个例子,它特别说明了这种效果的“屏幕截图”是多么的愚蠢。

不要忘记添加虚拟机,这样当你发现你在虚拟机下运行时,你可以禁用显示。这样他们就不能截取虚拟机窗口的屏幕截图


除非他们修改开放虚拟机以删除这种简单的信息,否则你必须使用一些东西。

不要让人沮丧,但如果他们能在显示器上看到,他们可以截屏。这是为了防止屏幕上的敏感/机密文本在截屏中意外传输,还是别的什么?知道你的目标会让回答更容易。如果用户使用数码相机拍摄屏幕快照,没有问题,问题是允许他使用简单的屏幕快照功能。这就是我要找的,一个如何在硬件覆盖中渲染的示例。。thanksit应该在vista上工作。。。这完全是一个图形卡的事情。see Vista不使用覆盖,而是将视频流转换为纹理。