AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Datum der letzten Änderung eines Registryeintrags prüfen
Thema durchsuchen
Ansicht
Themen-Optionen

Datum der letzten Änderung eines Registryeintrags prüfen

Ein Thema von qb-tim · begonnen am 10. Jul 2007 · letzter Beitrag vom 10. Jul 2007
Antwort Antwort
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#1

Datum der letzten Änderung eines Registryeintrags prüfen

  Alt 10. Jul 2007, 13:41
Hi,

kann mir jemand sagen, wie ich prüfen kann, wann ein Registryeintrag zuletzt geändert wurde?

Danke im Voraus
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Datum der letzten Änderung eines Registryeintrags prüfen

  Alt 10. Jul 2007, 13:49
Moin Tim,

schau Dir dazu mal MSDN-Library durchsuchenRegQueryInfoKey an.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Datum der letzten Änderung eines Registryeintrags prüfen

  Alt 10. Jul 2007, 13:54
So garnicht. Du könntest aber Schreibvorgänge loggen lassen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#4

Re: Datum der letzten Änderung eines Registryeintrags prüfen

  Alt 10. Jul 2007, 13:56
@ Christian Seehase

http://msdn2.microsoft.com/en-us/library/ms724902.aspx

Zitat:
LONG WINAPI RegQueryInfoKey(
HKEY hKey,
LPTSTR lpClass,
LPDWORD lpcClass,
LPDWORD lpReserved,
LPDWORD lpcSubKeys,
LPDWORD lpcMaxSubKeyLen,
LPDWORD lpcMaxClassLen,
LPDWORD lpcValues,
LPDWORD lpcMaxValueNameLen,
LPDWORD lpcMaxValueLen,
LPDWORD lpcbSecurityDescriptor,
PFILETIME lpftLastWriteTime
);
Da steht was über LastWriteTime... Aber wie setzte ich das in Delphi um?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Datum der letzten Änderung eines Registryeintrags prüfen

  Alt 10. Jul 2007, 14:22
Moin Tim,

ich habe Dir mal ein kleines Beispiel erstellt:

Delphi-Quellcode:
function GetLastKeyAccess(const AhRootKey : HKEY;const AsSubKey : string;var AsResult : string) : boolean;

var
  hResult : HKEY;
  ftLastWrite : FILETIME;
  ft : FILETIME;
  st : SYSTEMTIME;

begin
  if RegOpenKeyEx(AhRootKey,PChar(AsSubKey),0,KEY_READ,hResult) <> ERROR_SUCCESS then begin
    AsResult := 'ERROR OPEN: '+SysErrorMessage(GetLastError);
    Result := False;
    Exit;
  end;
  try
    if RegQueryInfoKey(hResult,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,@ftLastWrite) <> ERROR_SUCCESS then begin
      AsResult := 'ERROR QUERY: '+SysErrorMessage(GetLastError);
      Result := False;
    end;
    if not FileTimeToLocalFileTime(ftLastWrite,ft) then begin // An Zeitzone anpassen
      AsResult := 'ERROR CONVERT FT: '+SysErrorMessage(GetLastError);
      Result := False;
      Exit;
    end;
    FillChar(st,SizeOf(st),0);
    if not FileTimeToSystemTime(ft,st) then begin // Zur Ausgabe umwandeln
      AsResult := 'ERROR CONVERT ST: '+SysErrorMessage(GetLastError);
      Result := False;
      Exit;
    end;
    AsResult := Format('%.2d.%.2d.%.4d %.2d:%.2d:%.2d,%.3d',[st.wDay,st.wMonth,st.wYear,st.wHour,st.wMinute,st.wSecond,st.wMilliseconds]);
    Result := True;
  finally
    RegCloseKey(hResult);
  end;
end;
Der Aufruf kann dann so erfolgen:

Delphi-Quellcode:
var
  sResult : string;

begin
  if GetLastKeyAccess(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',sResult) then begin
    ShowMessage('Letzte Änderung:'#13#10+sResult);
  end else begin
    ShowMessage('Fehler:'#13#10+sResult);
  end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#6

Re: Datum der letzten Änderung eines Registryeintrags prüfen

  Alt 10. Jul 2007, 15:24
Perfekt!!!! Das ist genau das was ich brauche!!!
Danke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz