Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: SetSystemTime unter Windows VISTA?

  Alt 20. Jan 2010, 10:05
Hallo,

Zitat:
Aber mein Progi soll es eben dürfen
Da dein Programm im Kontext des jeweiligen Nutzer ausgeführt wird,
darf es nur das, was der darf.

Und nein, du musst mit GetLastError prüfen,

Zitat:
If the function succeeds, the return value is nonzero.
To determine whether the function adjusted all of the specified privileges, call GetLastError, which returns one of the following values when the function succeeds
Es wird True zurückgeliefert, wenn die Funktion erfolgreich ausgeführt wurde,
es kann aber sein, dass das Ergebnis der Funktion (Privilege enablen) nicht geklappt hat.

False wäre z.B. dann, wenn der User das Privilege nicht hat.


Ab Vista gibt es ja 2 Tokens, auch für den Admin.
Gestartet wird mit dem einfachen mit wenig Rechten.
Das Starten als schaltet zum Admin-Token um,
dort ist das Privileg schon enabled (im Unterscheid zu XP/w2k).
Deshalb braucht man den Privileg-Code eigentlich nicht,
schadet aber auch nicht

Sollte den Programm die Zeit setzen können,
auch wenn ein User mit dem Zeit-Setzen-Recht es startet,
musst du einen Dienst schreiben,
von dem dein Programm dann das Zeit-Setzen einfordert.


Heiko
Heiko
  Mit Zitat antworten Zitat