Zum Inhalt springen

Auf Speren bzw. entsperen des OS (Win) reagieren


Empfohlene Beiträge

Geschrieben
gibt es die Mglichkeit mit java auf das sperren bzw. entsperren von Windows zu reagieren?
Ja und Nein :)

Also ausführlicher: Mit Java "Bordmitteln" gibt es keine Möglichkeit darauf zu reagieren. Dafür ist die Aufgabe zu plattformorientiert. Ein Logout unter Linux verläuft komplett anders als unter Windows, und was machst du, wenn Java auf einem OS läuft, wo es überhaupt keine Mehrbenutzerumgebung gibt?

Was du allerdings machen kannst ist das ganze über einen JNI Aufruf zu erledigen. Du klinkst dich in die Windows API ein, und rufst dann von der C-Seite aus, eine Methode in einer Java-Klasse auf, die das Handling des Logout übernimmt.

Also so etwas in der Art:

public class WindowsLogoutHandler {


  /**

   * Diese Methode einmal aufrufen, um den Listener bei

   * Windows zu registrieren.

   */

  public static native void registerWindowsEventListener();


  /**

   * Diese Methode vom JNI-Part aus ansprechen

   */

  public static void userLoggedOut(String username) {


    // Hier jetzt die Implementierung rein


  }


}

Achja nochwas kann man Java Anwendungen als Tray Laufen lassen ?
Gleiche Antwort wie oben: Möglich ja, aber nur über JNI Bridge. Aber da gibt's schon fertige Packages für:

http://www.google.de/search?hl=de&q=java+tray

http://jeans.studentenweb.org/java/trayicon/trayicon.html

Geschrieben

schade hatte gehoft es gäbe da eine halbwegs allgemeine lösung

aber schon mal thx

Das Problem ist halt das ich gerne eine Zeiterfassung basteln würde die durch das speren und entsperen schon mal einige zeiten vogibt. Hat vielleicht jemand ne idee wie man das anders lösen kann ?

Geschrieben
schade hatte gehoft es gäbe da eine halbwegs allgemeine lösung

aber schon mal thx

Das Problem ist halt das ich gerne eine Zeiterfassung basteln würde die durch das speren und entsperen schon mal einige zeiten vogibt. Hat vielleicht jemand ne idee wie man das anders lösen kann ?

Noch ne möglichkeit wäre dann natürlich das ganze unter C# zu machen... damit gibst du dann allerdings alle plattformunabhängigkeit auf die Java hat (brauchst du scheinbar aber eh nicht)

Vorteile: gleiche Syntax und struktur, bei voller nutzbarkeit aller Windows und Microsoft features

Geschrieben
Ich weiß ja nicht, was Du vorhast.
Ich glaub ich schon :)

Ich denke der OP möchte ein Zeiterfassungs-Programm im Hintergrund auf dem Client-Rechner laufen lassen. Wenn jetzt Mitarbeiter X seinen Desktop sperrt heisst das für das Programm "Der macht jetzt Pause". @LoneWulf: Hab ich das soweit richtig verstanden?

Wenn dem so ist, und dein Programm ein reines Java-Programm ist, dann hast du keine andere Möglichkeit, als die, die ich oben vorgeschlagen habe. Du willst schließlich vom System etwas mitbekommen nämlich "Rechner gesperrt". Und dann musst du dich da auch direkt beim System einklinken. Eine reine Java Lösung wird es dafür nicht geben (eben weil du auf die Windows API zugreifen musst) also wenn du es so umsetzen musst, dann fange lieber an dich mit JNI vertraut zu machen - so schwierig ist das auch nicht.

Eine weitere Möglichkeit wäre dann natürlich tatsächlich, das ganze nicht in Java umzusetzen, sondern in einer Sprache, die mit Windows und seinen Eigenheiten besser umgehen kann - z.B. C# (*würg*, dass ich das mal vorschlagen würde...).

Geschrieben
Ich glaub ich schon :)

C# (*würg*, dass ich das mal vorschlagen würde...).

Ach was sooo schlimm ist das doch auch wieder ned ... wenn auch proprietär... aber das kann was und die meisten prinzipien zw thread prozess exception etc sind die gleichen (freu)

Geschrieben
Mir stellen sich nämlich die Nackenhaare, wenn Zeiterfassung über das Sperren des Rechners laufen würde.

Was mache ich dann nämlich, wenn ich zu einem Meeting gehe?

Naja vom Grundprinzip her ist das schon okay - der Rechner loggt die Zeiten, wo du offline bist und präsentiert dir hinterher eine Liste, in der du dann auswählen musst, was beispielsweise zwischen 10:00 und 10:15 passiert ist. Als Auswahl steht dann sowas wie { Meeting, Toilettenpause, Raucherpause, ... }

In wieweit sowas der Arbeitsmoral dient ist noch ein ganz anderer Punkt... Wenn ich über jede Minute meines Arbeitstages genau buchführen müsste, dann leidet mein Zugehörigkeitsgefühl und meine Solidarität zu meiner Firma da enorm drunter.

Geschrieben

Nein das ganze soll ja nur schonmal diverse anhaltspunkte angeben diese können ja beliebig verändert werden. Das ist halt für mich persönlich gedacht. Zum einen zur Übung und zum anderen damit ich mal anfange richtig zu dokumentieren. Soll halt ein kleines Documentations Tool werden für notizen usw.

Könnte man den short keys vergeben so wie winamp das macht? sozusagen start und stop einer aktivität?

Geschrieben
könnte man den short keys vergeben so wie winamp das macht? sozusagen start und stop einer aktivität?
Hä?

Bitte drücke dich mal etwas deutlicher aus, und erkläre mir, was du mit diesem Satz da oben sagen wolltest

Geschrieben

Bei Win Amp diesem tollen Media player. GIbt es sogenante short Keys (Kurzwahl tasten) über die man das Programm während man mit einem anderem Programm arbeitet Steuern kann. Das wäre doch eine altenative oder ? Es geht halt darum Das die Start- und Endzeiten ohne Großen aufwand erfasst werden.

Geschrieben
Bei Win Amp diesem tollen Media player. GIbt es sogenante short Keys (Kurzwahl tasten) über die man das Programm während man mit einem anderem Programm arbeitet Steuern kann. Das wäre doch eine altenative oder ? Es geht halt darum Das die Start- und Endzeiten ohne Großen aufwand erfasst werden.
Okay, jetzt hab ich's verstanden.

Möglich auf jeden Fall - aber unter Java auch wieder nur mit JNI-Bridge.

Du siehst, du kommst also nicht drumrum :)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...