使用Java锁定屏幕

Sam*_*zzo 4 java locking fullscreen

基本上我只需要创建一个应用程序(具有一定的用户访问权限),第一个屏幕是一个全屏窗口,无法在不输入有效用户名和密码的情况下最小化或关闭.像Windows屏幕保护程序的东西.可以吗?我应该研究哪些图书馆?这就是我所需要的,如果我的问题不完整或不清楚,请随意提问!

Mar*_*aux 10

有一次,我用Java写了一些东西,你无法逃脱.真的不可能.它适用于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();
  }
}
Run Code Online (Sandbox Code Playgroud)

这段代码的背景:我写了一些假终端,我可以让它出现我想要的东西.例如,愚蠢的Windows消息如:"未找到键盘,按任意键继续".我用它作为学校的笑话.启动此应用程序并离开房间,它将在一分钟后自动注销Windows帐户.但是,我没想到会有这使用的老师Ctrl- Alt- Del杀了我的申请.他在我的个人文件中留下了一条信息,其中他写下了他的所作所为,并以"我殴打你,哈哈,我是邪恶的"来结束他的信息.所以,我想和他竞争.然后写了这段代码.他在学校尝试了五次以逃避应用程序,但他不能(我不能这样做:D).当然他可以关掉机器或退出.但目标是访问我的个人文件.

  • 我重新启动:P我接受了你的答案,因为它是一个良好的基础从...开始 (2认同)