Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [Registry] Auslesen des Ordnerinhalts schlägt fehl (https://www.delphipraxis.net/27465-%5Bregistry%5D-auslesen-des-ordnerinhalts-schlaegt-fehl.html)

flomei 10. Aug 2004 17:41


[Registry] Auslesen des Ordnerinhalts schlägt fehl
 
Hallo!
Ich versuche den Inhalt des Ornders "Fonts" aus der Registry auszulesen.
Allerdings schlägt das fehl.
Folgenden Code verwende ich:
Delphi-Quellcode:
procedure TfrmMain.StartProgram(Sender: TObject);
  var
    registry: TRegistry;
  begin
    registry := TRegistry.Create;
    registry.RootKey := HKEY_LOCAL_MACHINE;
    begin
      if
        registry.OpenKey('SOFTWARE/Microsoft/CurrentVersion/FONTS', false)
      then
        registry.GetValueNames(ListBoxListFonts.Items)
      else
        MessageDlg('Could not read fonts!', mtWarning, [mbOK], 0);
    end;
    registry.CloseKey;
  end;
Ich erhalte immer die Fehlermeldung aus dem else-Fall...
Ich habe das dumpfe Gefühl das ich nen dummen Fehler gemacht habe aber ich finde ihn nicht.

Wäre nett wenn ihr euch das mal anguckt. Danke! :)

MfG Florian :hi:

w3seek 10. Aug 2004 18:12

Re: [Registry] Auslesen des Ordnerinhalts schlägt fehl
 
Dieser Registry Key existiert nicht...Ausserdem solltest du lieber auf HKEY_CURRENT_USER zurueckgreifen da der code sonst fuer normale Benutzer nicht funktioniert.

SirThornberry 10. Aug 2004 18:14

Re: [Registry] Auslesen des Ordnerinhalts schlägt fehl
 
ich denk mal anstelle von
Zitat:

'SOFTWARE/Microsoft/CurrentVersion/FONTS'
solltest du
Code:
'SOFTWARE/Microsoft/Windows/CurrentVersion/FONTS'
verwenden

rantanplan99 10. Aug 2004 18:15

Re: [Registry] Auslesen des Ordnerinhalts schlägt fehl
 
Der Registry-Key existiert bei mir nicht, überprüfe doch mal ob der Key stimmt.
Code:
SOFTWARE/Microsoft/CurrentVersion/FONTS
Der CurrentVersion Eintrag befinded sich nämlich hier:
Code:
SOFTWARE/Microsoft/Windows/CurrentVersion/FONTS
aber da habe ich auch keinen Eintrag 'FONTS'

Evtl. suchst du diesen Key? Der existiert zumindest bei mir
Code:
SOFTWARE/Microsoft/Windows NT/CurrentVersion/FONTS

flomei 10. Aug 2004 18:25

Re: [Registry] Auslesen des Ordnerinhalts schlägt fehl
 
:lol: Oh, zu dumm zum abschreiben... :oops:

Naja, muss ja jetzt sowieso mal umstrukturieren wenn normale Benutzer keinen Zugriff darauf haben und das wieder von Windows zu Windows unterschiedlich ist... :roll:

Nochmal Danke an alle!

MfG Florian :hi:

Bernhard Geyer 10. Aug 2004 18:30

Re: [Registry] Auslesen des Ordnerinhalts schlägt fehl
 
Ein Vorschlag: Der offizielle Weg um die Installierten Fonts auszulesen wäre die Win32-API-Funktion EnumFonts.
Damit bist Du auch unabhängig von irgendwelchen Ändernungen an der Registry (Speicherort).

flomei 10. Aug 2004 18:31

Re: [Registry] Auslesen des Ordnerinhalts schlägt fehl
 
Gut zu wissen! Werde mich da mal schlau machen! :D

MfG Florian :hi:

Niko 10. Aug 2004 18:34

Re: [Registry] Auslesen des Ordnerinhalts schlägt fehl
 
Hi,

auch für den Ordner gibt es einen offiziellen Weg: Die Funktion MSDN-Library durchsuchenSHGetSpecialFolderLocation.

Christian Seehase 10. Aug 2004 20:53

Re: [Registry] Auslesen des Ordnerinhalts schlägt fehl
 
Moin Florian,

vielleicht solltest Du auch beim Auslesen aus der Registry \ statt / verwenden.
Schau Dir mal eine Reg-Datei an.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 Uhr.

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