Announcement

Collapse
No announcement yet.

Sperren des Computers unter NT/2000

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sperren des Computers unter NT/2000

    Hi!
    <br> Bei dem Versuch herauszufinden, wie ich die Arbeitstation (oder Computer) sperren kann, bin ich bisher kläglich gescheitert. <br> Im Moment helfe ich mir indem ich den Bildschirmschoner aktiviere ( PostMessage( GetTopWindow(0), WM_SYSCOMMAND, SC_SCREENSAVE ,0 ) ) und zuvor temporär die Einstellung so abändere dass der "Kennwortschutz" und auch ein Screensaver aktiv ist.<br>
    Ich glaube, dass die GINA eine mögliche Hilfe bietet, weiß aber nicht wie ich das bewerkstellige. <br> Ich brauche HILFE!

  • #2
    Unter Windows 2ooo gibt es die Funktion <b>LockWorkStation</b> in der User32.dll.<p>
    Für Windows NT gibt es keine "offizielle Methode", leider.

    Gruß Nico

    PS: Zu dem Gedanken mit der GINA. Also bis zum heutigen Tage habe ich noch keine benutzerdefinierte GINA gesehen, die in einer anderen Sprache als C(++) geschrieben wurde (obwohl es durchaus denkbar wäre).
    Der Aufwand ist aber ziemlich erheblich, da entweder für jede GINA-Interface-Version eine DLL geschrieben, oder alle Versionen in einer DLL implementiert werden müßten. Naja, wie gesagt, ein Haufen (schwerer, und hart zu testende) Arbeit

    Comment


    • #3
      Danke! <br> <br> Leider bestätigte mir das auch Mark Russinovich von Sysinternals. <br> Ich werde mich wohl auf die genannte Lösung beschränken und auf das "Aussterben" von NT warten :-( .<br>Gruß, Rober

      Comment


      • #4
        Hallo,

        zumal eine GINA-DLL auch extrem schwer zu debuggen ist :-

        Comment


        • #5
          Hallo alle zusammen !

          Ich habe mit Interesse eure Kommentare gelesen da ich ebenfalls
          Probleme habe eine Windows 2000 Prof. Workstation zu sperren.
          Unter Windows 98 konnte ich mir mit folgender Funktion helfen :

          function BlockInput(fBlockInput : boolean) : DWord;
          stdcall; external 'user32.dll';

          was mir unter Win 2000 jedoch nicht gelungen ist.
          Auch der Versuch diese Funktion dynamisch zu laden, wie er im Buch
          "Delphi Win 32 Lösungen" von Herrn Kosch beschrieben ist, ist mit
          der Fehlermeldung "Funktion oder DLL nicht gefunden" gescheitert.
          Wobei ich hierbei sehr wahrscheinlich noch irgendwo einen Fehler
          gemacht habe.
          Daher wüsste ich gerne, wie NicoDE die LockWorkstation Funktion
          der user32.dll aufruft.
          Vielleicht klappt es damit ja auch wieder bei meiner BlockInput
          Funktion !

          Danke an alle im voraus

          Comment


          • #6
            Hallo ich bins nochmal !
            Es sieht zwar etwas komsich aus, aber ich habe es geschafft,
            die Workstation unter Win 2000 auszulocken !
            Sie hier :

            type
            {Function zum Sperren der Maus & Tastatur}
            TBI = function (fBlockInput : boolean) : DWord;

            implementation

            {$R *.DFM}
            procedure OutLogger;
            var BlockInput : TBI;
            var User32Handle : THandle;
            var User32Adr : TFarProc;
            begin
            User32Handle := LoadLibrary ('User32.dll');
            If User32Handle <> 0 then
            begin
            User32Adr := GetProcAddress (User32Handle,'BlockInput');
            If User32Adr <> nil then
            begin
            @BlockInput := User32Adr;
            LockWorkstation;
            end
            else
            begin
            ShowMessage('Funktion nicht gefunden !');
            end;
            end
            else
            begin
            ShowMessage ('DLL nicht gefunden !');
            end;
            FreeLibrary(User32Handle);
            end;

            Danke für evt. Mühen

            Comment

            Working...
            X