Einzelnen Beitrag anzeigen

Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: SetSystemTime unter Windows 7

  Alt 29. Nov 2011, 19:23
Hallo,

den Datenaustausch habe ich bisher immer über Registry Einträge realisiert. Das Problem dabei ist, dass die Kommunikation über HKEY_CURRENT_USER erfolgen muss. Geht aber auch, ein Systemdienst kann Daten aus HKEY_CURRENT_USER lesen. Dazu muss die SID des Benutzers bekannt sein. Von einer Kommunikation über INI-Datei rate ich ab weil, je nach Intervall, zu viele Festplattenzugriffe das System ausbremsen könnten.

Beispiel:
Delphi-Quellcode:
procedure WriteUserRegistry;
var
  SID : PSID;
  strSID : PAnsiChar;
  s : String;
  err : DWORD;
  Registry : tRegistry;
begin
   err := GetAccountSid('', 'Benutzername', SID);
    if err = 0 then
    begin
     if ConvertSidToStringSid(SID, strSID) then
       s := strSID
     else
       s := SysErrorMessage(err);
    end
    else
     s := SysErrorMessage(err);

    Registry:=Tregistry.Create;
    Registry.Rootkey := HKEY_USERS;

      try
      Registry.OPENKEY(s + '\Software\MeineZeit', true);
      Registry.WriteString('Zeit','10:00:59');
      finally
      Registry.CloseKey;
      end;
end;
Lesen geht natürlich auch. Hab ich was vergessen ? Ach ja, dafür gibt es die Suchfunktion

kuba
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat