Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

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

AW: Position der Icons auf dem Desktop ermitteln

  Alt 21. Dez 2010, 19:33
Dann machen wir es doch mal richtig, dann bekommt man auch einigermaßen gescheite Fehlermeldungen:
Delphi-Quellcode:
uses
  Registry;

const
  REGPATH = '\Software\Microsoft\Windows\Shell\Bags\1\Desktop';
  FILENAME = 'd:\test.txt';

procedure SaveDesktopIconsFromRegistry(const FileName: string);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    if Reg.KeyExists(REGPATH) then
    begin
      if not Reg.SaveKey(REGPATH, FileName) then
        RaiseLastOSError;
    end
    else
      RaiseLastOSError;
  finally
    Reg.Free;
  end;
end;

procedure TForm13.Button1Click(Sender: TObject);
begin
  if FileExists(FILENAME) then
  begin
    if not DeleteFile(FILENAME) then
      ShowMessage(SysErrorMessage(GetLastError));
  end;
  try
    SaveDesktopIconsFromRegistry(FILENAME);
  except
    on E: Exception do
      ShowMessage(E.Message);
  end;
end;
Fehlermeldung lautet: "Ein Aufruf einer Betriebssystemfunktion ist fehlgeschlagen."

Laut Hilfe öffnet und schließt SaveKey den Schlüssel. Ein OpenKey und CloseKey ist also überflüssig.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat