Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Position der Icons auf dem Desktop ermitteln (https://www.delphipraxis.net/156950-position-der-icons-auf-dem-desktop-ermitteln.html)

eragon123 21. Dez 2010 19:04

AW: Position der Icons auf dem Desktop ermitteln
 
Openkey geht.
Delphi-Quellcode:
if regist.OpenKey(lbledtpath.Text, False) then ShowMessage('Öffnen geht');
zeigt die Nachricht.

DeddyH 21. Dez 2010 19:09

AW: Position der Icons auf dem Desktop ermitteln
 
Komisch. Ich habe SaveKey auch noch nie benutzt, aber wenn ich die Hilfe richtig deute, lass doch das OpenKey und CloseKey einmal weg. Außerdem darf die Zieldatei noch nicht existieren (wieso auch immer).

Luckie 21. Dez 2010 19:33

AW: Position der Icons auf dem Desktop ermitteln
 
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.

eragon123 21. Dez 2010 21:34

AW: Position der Icons auf dem Desktop ermitteln
 
Naja danke... aber das hilft uns auch nicht weiter oder? Die Frage ist ja eigentlich, wie ich die Datei jetzt speichern kann ;).

Luckie 21. Dez 2010 21:38

AW: Position der Icons auf dem Desktop ermitteln
 
Doch es hilft uns weiter, weil wir jetzt mal eine gescheite Fehlermeldung haben.

eragon123 21. Dez 2010 22:10

AW: Position der Icons auf dem Desktop ermitteln
 
Bei mir steht mit gleichem Code was anderes: Das System kann die angegebene Datei nicht finden. Keine Wunder... laut Beschreibung soll sie ja auch nicht existieren...was sie bei mir auch nicht tut.

Luckie 21. Dez 2010 22:34

AW: Position der Icons auf dem Desktop ermitteln
 
Deswegen lösche ich ja auch die Datei vorher, falls sie existiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz