java - 使用 Java 清除操作系统内存缓冲区

标签 java linux winapi operating-system buffer

我很抱歉,因为我知道这个问题太笼统了,但我是新手,所以我很难让这个问题更具体。
我正在开发一个应用程序,其中客户有一些安全问题。他不希望用户能够打印屏幕或复制(ctrl+c 程序的数据。现在,当我开始研究这个时,我发现当这些击键时,操作系统会复制其缓冲区中的数据。现在我已经尝试make 检查每当用户按下 ctrl+cprintscreen 时我的应用程序突然刷新缓冲区(或缓存我们所说的任何内容)。现在我的问题是< br/>
1: 如何使用 Java 刷新窗口的缓冲区?我应该检查哪个类 API? (因为我搜索了很多但我没有找到方法 :( 所以现在是 SO 专家的时候了)

2:这个 flushBuffer 代码是否适用于所有操作系统?或者我需要对 Windows/Linux/Mac 进行单独检查吗?
谢谢

最佳答案

要禁用您应用中任何组件的复制+粘贴(取自 Disabling 'paste' in a jTextfield)

textComponent.setTransferHandler(null);

但除此之外的任何内容都将是 hack。您可以使用 jnativehook 在全局收听打印屏幕然后可能以某种方式将你的 window 拉黑。我不知道,偏执狂是一件棘手的事情。

关于java - 使用 Java 清除操作系统内存缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15674860/

相关文章:

c++ - 如何禁用辅助监视器(使用 ChangeDisplaySettingsEx)?

c++ - 向控制台应用程序发送 Windows 消息

java - cucumber + Spring : How to trigger SmartLifecycle events through tests?

java - 如何获取在java中创建的日期图片

java - 如果下一行为空,则忽略该行(即在两个段落之间单击 Enter 两次)

我们只能重新编译内核源代码树中的内核模块吗?

vb.net - 将子窗口释放回桌面?

JAVA servlets - 打开消息弹出窗口

linux - 在 Ubuntu Docker 容器中运行非 root Docker

c++ - 一对多IPC