Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#20

AW: Hauptformular lässt sich nicht unsichtbar schalten

  Alt 17. Jun 2010, 20:04
Bringen tut das folgendes: Du hast ein Steuerprogramm. Dieses nimmt alle Befehle entgegen und gibt am Ende den Befehl aus, zum abmelden. Dieses Steuerprogramm darf nicht einfach so abgeschossen werden. Deshalb ist es ein Dienst (höhere Rechte als der eingeschränkte Nutzer). Ab Windows Vista kann ein Dienst nicht mehr direkt mit dem Desktop kommunizieren, du brauchst also spezielle Anwendungen dafür. Diese Anwendungen können mit dem Dienst kommunizieren, entweder per TCP oder per Pipe, wobei ich die Pipe bevorzugen würde.
Zum Abmelden: Da der Dienst dem User direkt keine Befehle geben kann, muss er in dem Kontext des Benutzers das Abmeldeprogramm starten. Dieses ist nichts anderes als Start->Ausführen->"logoff"->OK.
Zum Abbrechen: Hier hast du ein 2. Programm, welches mit dem Dienst kommuniziert. Dieses nimmt das PW entgegen und leitet dies per Pipe an den Dienst weiter. Der Dienst prüft und gibt ein OK/Falsch zurück. Bei OK wird der Abmeldetimer gestoppt, bei Falsch bleibt er am laufen.
Das ist die am sichersten arbeitende Struktur für dein Problem. Du musst nur dafür sorgen, dass deine Abmelden.exe nicht durch eine andere Datei ersetzt werden kann (Schreibrechte für den eingeschränkten Benutzer entziehen).

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat