Use o Java para bloquear uma canvas

Basicamente, eu só preciso criar um aplicativo (com uma espécie de access de usuário), cuja primeira canvas é uma janela de canvas cheia que não pode ser minimizada ou fechada sem inserir um nome de usuário e senha válidos. Algo como protetor de canvas do windows. Isso pode ser feito? Quais bibliotecas devo olhar? Isso é tudo que eu preciso, se a minha pergunta estiver incompleta ou incerta, sinta-se à vontade para perguntar!

Certa vez, escrevi algo em Java, do qual você não pode escaping. Realmente impossível. É para o Windows. Aqui está:

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(); } } 

Antecedentes deste código: Eu escrevi algum tipo de terminal falso em que eu poderia deixar aparecer tudo o que eu queria. Por exemplo, as mensagens estúpidas do Windows como: “Teclado não encontrado, pressione qualquer tecla para continuar”. Eu usei isso como uma brincadeira na escola. Abra este aplicativo e saia da sala, ele sairia da conta do Windows automaticamente após um minuto. Mas eu não tinha pensado que haveria um professor que usasse CtrlAltDel para matar meu aplicativo. Ele deixou uma mensagem em meus documentos pessoais em que ele escreveu o que ele fez e terminou sua mensagem com “Eu venci você, haha ​​eu sou mal”. Então, eu queria competir com ele. E então escrevi este código. Ele tentou mais de cinco vezes na escola para escaping do aplicativo, mas ele não podia (eu não posso também: D). Claro que ele poderia desligar a máquina ou sair. Mas o objective era acessar meus documentos pessoais.

Em qualquer SO meio decente, o SO será o responsável por atribuir uma área ou janela a cada processo.

Você precisará verificar cada método de SO e implementá-lo em código nativo (provavelmente C ou C ++) usando JNI.