Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#36

Re: Prüfen, ob RegistryKey vorhanden ist?

  Alt 1. Mai 2010, 23:20
So geht's mit der Fehlerbehandlung:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Dialogs, Registry, SysUtils;

implementation

function RegCheck(): Boolean;
var
  reg: TRegistry;
  Names: string;
  x: Integer;
begin
  result := false;
  reg := TRegistry.Create(Key_Read);
  try
    reg.RootKey := (HKEY_LOCAL_MACHINE);
    try
      if reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\', False) then
      begin
        if reg.ValueExists('KeyName') then
        begin
          Names := ('HKEY_Local_Machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\KeyName');
          result := True;
          x := 1;
        end;
      end
      else
        ShowMessage(SysErrorMessage(GetLastError));
    finally
      reg.CloseKey;
    end;
    reg.RootKey := HKEY_Current_User;
    try
      if reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\', False) then
      begin
        if reg.ValueExists('KeyName') then
        begin
          Names := ('HKEY_Current_User\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\KeyName');
          result := True;
          x := 2;
        end;
      end
      else
        ShowMessage(SysErrorMessage(GetLastError));
    finally
      Reg.CloseKey;
    end;
  finally
    reg.Free;
  end;
end;

end.
Und hör bitte auf von Schleifen zu reden. In dem ganzen Code gibt es keine einzige Schleife. if-Bedingungen sind Verzweigungen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat