使用Java锁定屏幕

2023-12-28

基本上我只需要创建一个应用程序(具有某种用户访问权限),其第一个屏幕是一个全屏窗口,如果不输入有效的用户名和密码,则无法最小化或关闭该窗口。类似于 Windows 屏幕保护程序。能做到吗?我应该查看哪些图书馆?这就是我所需要的,如果我的问题不完整或不清楚,请随时提问!


有一次,我用 Java 写了一些东西,你从中can't逃脱。实在是不可能。它适用于 Windows。干得好:

import java.awt.Robot;
import javax.swing.JFrame;


public class WindowsSecurity implements Runnable 
{
  private JFrame frame;
  private boolean running;

  public WindowsSecurity(JFrame yourFrame)
  {
    this.frame = yourFrame;
    new Thread(this).start();
  }

  public void stop()
  {
     this.running = false;
  }

  public void run() {
    try {
      this.terminal.getParentFrame().setAlwaysOnTop(true);
      this.terminal.getParentFrame().setDefaultCloseOperation(0);
      kill("explorer.exe"); // Kill explorer
      Robot robot = new Robot();
      int i = 0;
      while (running) {
         sleep(30L);
         focus();
         releaseKeys(robot);
         sleep(15L);
         focus();
         if (i++ % 10 == 0) {
             kill("taskmgr.exe");
         }
         focus();
         releaseKeys(robot);
      }
      Runtime.getRuntime().exec("explorer.exe"); // Restart explorer
    } catch (Exception e) {

    }
  }

  private void releaseKeys(Robot robot) {
    robot.keyRelease(17);
    robot.keyRelease(18);
    robot.keyRelease(127);
    robot.keyRelease(524);
    robot.keyRelease(9);
  }

  private void sleep(long millis) {
    try {
      Thread.sleep(millis);
    } catch (Exception e) {

    }
  }

  private void kill(String string) {
    try {
      Runtime.getRuntime().exec("taskkill /F /IM " + string).waitFor();
    } catch (Exception e) {
    }
  }

  private void focus() {
    this.frame.grabFocus();
    this.frame.requestFocus();
  }
}

Background of this code: I wrote some kind of fake terminal in which I could let appear everything what I wanted. Eg, the stupid Windows messages like: "Keyboard not found, press any key to continue". I used it as a joke on school. Fire up this app and leave the room, it would log out the Windows account automatically after one minute. But I hadn't thought that there would be a teacher that used Ctrl-Alt-Del to kill my application. He left a message in my personal documents in which he wrote what he did and ended his message with "I've beaten you, haha I'm evil". So, I wanted to go in competition with him. And then wrote this code. He tried more than five times in school to escape from the app, but he couldn't (I can't as well :D). Of course he could turn off the machine or log out. But the target was to access my personal documents.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Java锁定屏幕 的相关文章

  • 如何通过 javaconfig 使用 SchedulerFactoryBean.schedulerContextAsMap

    我使用 Spring 4 0 并将项目从 xml 移至 java config 除了访问 Service scheduleService 带注释的类来自QuartzJobBean executeInternal 我必须让它工作的 xml 位
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 为什么 JTables 使 TableModel 在呈现时不可序列化?

    所以最近我正在开发一个工具 供我们配置某些应用程序 它不需要是什么真正令人敬畏的东西 只是一个具有一些 SQL 脚本生成功能并创建几个 XML 文件的基本工具 在此期间 我使用自己的 AbstractTableModel 实现创建了一系列
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • HSQL - 识别打开连接的数量

    我正在使用嵌入式 HSQL 数据库服务器 有什么方法可以识别活动打开连接的数量吗 Yes SELECT COUNT FROM INFORMATION SCHEMA SYSTEM SESSIONS
  • 如何获取之前的URL?

    我需要调用我的网络应用程序的 URL 例如 如果有一个从 stackoverflow com 到我的网站 foo com 的链接 我需要 Web 应用程序 托管 bean 中的 stackoverflow 链接 感谢所有帮助 谢谢 并不总是
  • 在接口中使用默认方法是否违反接口隔离原则?

    我正在学习 SOLID 原则 ISP 指出 客户端不应被迫依赖于他们所使用的接口 不使用 在接口中使用默认方法是否违反了这个原则 我见过类似的问题 但我在这里发布了一个示例 以便更清楚地了解我的示例是否违反了 ISP 假设我有这个例子 pu
  • 将流转换为 IntStream

    我有一种感觉 我在这里错过了一些东西 我发现自己做了以下事情 private static int getHighestValue Map
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db

随机推荐

  • GWT CellTable 选择并单击 CheckBoxCell

    我有一个 CellTable 它与 SingleSelectionModel 一起使用来进行单选并在详细信息面板中显示一些信息 此外 我还在该 CellTable 中添加了 CheckBoxCell 列 它与另一个 MultipleSele
  • 在 Android 选项卡中显示具有模糊效果的活动

    我的应用程序中有一个选项卡栏 第三个选项卡名为 关于 当用户单击此 关于 选项卡时 我希望以模糊效果显示活动 更具体地说 关于活动 应位于前面 而上一个选项卡应显示在后面并具有模糊效果 我在 about java onCreate 方法中执
  • 计算单元格中的特定字符数 - Excel

    我想计算单元格中的所有特殊字符 例如 有了这个公式 LEN D2 LEN SUBSTITUTE D2 我只能计算一个字符 但我需要计算单个单元格中的多个字符 有没有办法调整这个 谢谢您的帮助 仅使用公式而不是 VBA 可以通过以下两种方法实
  • C++ 中的整数到字符串转换/整数字符串连接 - 更紧凑的解决方案?

    如何进行整数 gt 字符串转换已在互联网上多次得到解答 但是 我正在寻找最紧凑的 C 方式 来执行此操作 由于您可以使用重载的 运算符来连接字符串 因此最好能够按照 python ish 的方式做一些事情 x stringVariable
  • Python + Pandas + Dataframe:Keyerror

    I have about 190 CSV s each of which has same column names A sample csv shared below From everycsv 我需要选择only the Item Pr
  • characteristic.getDescriptor() 返回 null

    我正在将 BLE 计步器连接到 Android 当我在 setCharacteristicNotification 函数中执行以下行时 我得到的描述符为 Null BluetoothGattDescriptor descriptor cha
  • 单选按钮显示/隐藏内容

    我试图在没有 javascript 和单选按钮的情况下实现显示 隐藏结果 我已经设法到达这部分
  • 为 Android 设置 PC 蓝牙服务器 [重复]

    这个问题在这里已经有答案了 可能的重复 在Android上使用蓝牙服务发现失败异常 https stackoverflow com questions 3397071 service discovery failed exception u
  • 为什么会打印 12 次?

    我正在学习Perl的多线程 我的代码 use warnings use threads use threads shared howmany 10 threads 5 to int howmany threads for 0 threads
  • 权限被拒绝 - Sparklyr 中的 \tmp\hive

    我正在尝试使用将 R 数据帧复制到 Spark 2 0 1copy to功能但它说 HDFS 上的根暂存目录 tmp hive 应该是可写的 当前权限为 rw rw rw 我执行了执行程序更改权限 但我仍然得到相同的权限异常 HADOOP
  • Gradle - 如何排除 /src/test/java 上的 Findbug

    有没有办法排除 src test java 下的类上的 Findbugs 执行 我尝试了以下方法 但似乎不起作用 classes classes filter it path contains classes test org Sure 文
  • 如何将阿拉伯语设置为区域设置

    我正在研究文本到语音的转换 为此 我从网上找到了这个例子 在此他们将英语设置为setLanguage Locale US 所以 现在我尝试设置阿拉伯语而不是英语 但是当我将语言更改为阿拉伯语时 我失败了 任何人都可以帮我将语言更改为阿拉伯语
  • Rails:避免 Factory Girl 中的重复错误...我做错了吗?

    假设我有一个模型user 它有唯一性约束email field 如果我打电话Factory user 一旦一切顺利 但如果我第二次调用它 它将失败并出现 条目已存在 错误 我目前正在使用一个简单的帮助程序在创建工厂之前搜索数据库中的现有条目
  • 简单的 IIS URL 重写

    简单的问题 我需要将特定子域 URL 上的所有 http 80 和 https 443 请求重定向到备用 SSL 端口 https 444 例子 http sub corp com http sub corp com gt https su
  • SQL Server查询优化?

    我有以下查询 SELECT tl d FROM TrackerLocations AS tl inner join Trackers t on tl TrackerId t TrackerId inner join Devices d on
  • Webkit边框半径结合css3 translate3D出血

    我在基于 Webkit 的浏览器上遇到一个问题 如果我向 div 添加边框半径 然后将 moz translate3d 应用于内部的 ul 这是因为在原始示例中我使用的是 flexslider 幻灯片 边框radius 不适用并且会穿过容器
  • 在 _Layout.cshtml 中将 Layout 设置为 null

    您是否有理由希望在 Layout cshtml 中将 Layout 属性设置为 null 比如像这样 在渲染body view之前 section Layout null RenderBody section 对我来说这似乎很荒谬 删除行设
  • 扩展 Angular 2 ngModel 指令以使用可观察量

    角2ngModel指令适用于变量和函数 例如
  • 类型约束“XYZ”已创建

    我想用一个Moose Util TypeConstraints https metacpan org pod Moose Util TypeConstraints在我的应用程序中 所以我在我的main pl main pl use Moos
  • 使用Java锁定屏幕

    基本上我只需要创建一个应用程序 具有某种用户访问权限 其第一个屏幕是一个全屏窗口 如果不输入有效的用户名和密码 则无法最小化或关闭该窗口 类似于 Windows 屏幕保护程序 能做到吗 我应该查看哪些图书馆 这就是我所需要的 如果我的问题不