kostenloser Webspace werbefrei: lima-city


Computer sperren mit JWindow

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    phosphat

    phosphat hat kostenlosen Webspace.

    Hallo,

    ich beabsichtige eine Funktion zu implementieren, die den Rechner vor unbefugtem Zugriff sichern kann. Ich hatte mir ein einfaches JWindow vorgestellt in Screensize, welches ich auch schon realisiert habe. Es implementiert bereits s?mtliche MouseListener und KeyListener, damit alle Eingaben abgefangen werden. Jedoch hilft das nicht wirklich gegen alles.
    Mein Problem ist nun, dass das Fenster immer im Vordergrund sein soll, undzwar vor allen anderen Fenstern nicht nur denen die mein Programm erzeugt. Beim aufruf kommt es automatisch in den Vordergrund mit toFront und requestFocus es w?rde also reichen wenn es alle Tastaturkommandos abf?ngt, also auch die Windowstaste und solche Scherze, denn das schafft der KeyListener anscheinend nicht und die Taskleiste sollte ?berlagert werden. Wenn es geht sollte nat?rlich am besten auch Strg+Alt+Entf und Strg+C nicht funktionieren.
    Wenn Jemand einen L?sungsvorschlag hat w?re ich dankbar, genauso wie f?r jeden Hinweis in die richtige Richtung.

    Zu guter letzt noch der Quellcode meines bisherigen Splashscreen:

    public class ScreenLock
    extends JWindow
    {
    public ScreenLock(final MainFrame owner)
    {
    final ScreenLock sl = this;

    JPanel lockpanel = new JPanel();

    JLabel text = new JLabel("Screen locked!", SwingConstants.CENTER);
    lockpanel.setBackground(Color.WHITE);
    lockpanel.add(text);

    getContentPane().add(lockpanel);

    this.setBackground(Color.WHITE);
    this.addMouseListener(new MouseListener() {

    public void mouseClicked(MouseEvent arg0) {
    new UnlockDialog(owner, sl);
    }

    public void mouseEntered(MouseEvent arg0) {
    // TODO Auto-generated method stub

    }

    public void mouseExited(MouseEvent arg0) {
    // TODO Auto-generated method stub

    }

    public void mousePressed(MouseEvent arg0) {
    // TODO Auto-generated method stub

    }

    public void mouseReleased(MouseEvent arg0) {
    // TODO Auto-generated method stub

    }

    });
    this.addMouseMotionListener(new MouseMotionListener() {

    public void mouseDragged(MouseEvent arg0) {
    // TODO Auto-generated method stub

    }

    public void mouseMoved(MouseEvent arg0) {
    // TODO Auto-generated method stub

    }

    });

    this.addMouseWheelListener(new MouseWheelListener() {

    public void mouseWheelMoved(MouseWheelEvent arg0) {
    // TODO Auto-generated method stub

    }

    });

    this.addKeyListener(new KeyListener() {

    public void keyPressed(KeyEvent arg0) {
    // TODO Auto-generated method stub

    }

    public void keyReleased(KeyEvent arg0) {
    // TODO Auto-generated method stub

    }

    public void keyTyped(KeyEvent arg0) {
    // TODO Auto-generated method stub

    }

    });
    this.setSize(Toolkit.getDefaultToolkit().getScreenSize());
    this.show();
    this.toFront();
    this.requestFocus();
    owner.enable(false);
    }
    }


    Gru?,
    Phosphat

    p.s.: Es muss nicht wirklich narrensicher sein, denn es ist nur dazu gedacht, dass nicht jeder Horst auf einer Party an den Rechner geht und an der Musik rum fummelt, denn das nervt ziemlich :slant:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Bei Windows ist eine Funktion dazu schon verbaut...
    Wenn du willst, schau einfach mal in mein Tutorial, da steht, wie man den Computer Sperren kann.

    http://www.lima-city.de/tutorials?m=show&id=1139
  4. Autor dieses Themas

    phosphat

    phosphat hat kostenlosen Webspace.

    Danke erstmal, das geht schonmal in die richtige Richtung. Nat?rlich k?nnte ich einfach die Rutine aus meinem Programm heraus aufrufen, aber selber machen gibt einem immer ein besseres Gef?hl :)
    Au?erdem w?rde ich gerne selbst ein tempor?res Passwort vergeben und nicht den Windows Login verwenden.
    Ein Freund meinte unter Windows 2000 hat das funktioniert wenn man dem System vorgaukelte das der Bildschirmschoner aktiv ist, dann hat er alle Tastenkomandos wie Str+Alt+Entf usw. ignoriert.
    Am liebsten w?re es mir nat?rlich wenn das ganze auch ginge ohne in den Systemrutinen rum zu pfuschen:holy:, also wenn da Jemand weiter wei?...


    Gru?,
    Phosphat
  5. s****r

    Wozu der Aufwand ? Du musst doch nur einen Bildschirmschoner kompilieren, da gibts nette Freeware Tools daf?r. Bei Windows XP
    gibt es immer eine M?glichkeit, an einem solchen Programm dran
    vorbei zu schleichen oder es "abzuw?rgen" damit kein Scherzkeks
    einen Virus oder ?hnliches programmieren kann der dann ?ber
    E-Mail verteilt wird und alle Rechner sperrt.

    Damit dein Programm richtig funktioniert muss du XP-Systemthreads aufrufen, vielleicht bekommst du unter Microsoft MSDN ein paar Tipps.
  6. Autor dieses Themas

    phosphat

    phosphat hat kostenlosen Webspace.

    Ok,
    ich schau mich mal um...
    Danke erstmal.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!