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/)
-   -   Registry den Namen des wertes ausslesen (https://www.delphipraxis.net/155772-registry-den-namen-des-wertes-ausslesen.html)

MasterTobi 7. Nov 2010 17:51

Registry den Namen des wertes ausslesen
 
Hallo und zwar ich möchte einen Pfad zu einer .exe herausfinden. Das problem ist das der Pfad in dem Schlüsselnamen steht und nicht in dem Wert.

der schlüssel ist
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell NoRoam\MUICache

der name des eintrages beinhaltet nun den Pfad und im wert steht samp
Delphi-Quellcode:
var samp:string;

  regist:=TRegistry.Create;
  try
    regist.RootKey:=HKEY_CURRENT_USER;
    regist.OpenKey('Software\Microsoft\Windows\ShellNoRoam\MUICache', true);
  finally
    regist.free;
  end;
  label1.text:=samp;
  end;
so un wie kann ich nun den namen rauskopieren über den wert?

bitte um hilfe :)

Bummi 7. Nov 2010 18:09

AW: Registry den Namen des wertes ausslesen
 
regist.GetKeyNames ??

MasterTobi 7. Nov 2010 18:30

AW: Registry den Namen des wertes ausslesen
 
danke aber entweder bin ich zu dumm oder ka :D

Delphi-Quellcode:
 
var Listname:TStringList;

regist:=TRegistry.Create;
  try
   Listname:=TStringList.Create;
    regist.RootKey:=HKEY_CURRENT_USER;
    regist.OpenKey('Software\Microsoft\Windows\ShellNoRoam\MUICache', false);
   regist.GetKeyNames(Listname);
  finally
  regist.CloseKey();
    regist.free;
   end;

  for i:=0 to Listname.Count-1 do
  begin
    try
      listbox1.Items.Add(Listname.Strings[i]);
    finally
      Listname.Free;
    end;
  end;
  end;
geht net :( kommen keine einträge in die listbox :(

Bummi 7. Nov 2010 18:50

AW: Registry den Namen des wertes ausslesen
 
Delphi-Quellcode:
  for i:=0 to Listname.Count-1 do
  begin
    try
      listbox1.Items.Add(Listname.Strings[i]);
    finally
      Listname.Free; // das gehört nicht in die FOR Schleife
    end;
  end;
direkter ist eh
Delphi-Quellcode:
 listbox1.Items.Assign(Listname);
das Prinzip stimmt, stimmt der Schlüssel?

MasterTobi 7. Nov 2010 19:10

AW: Registry den Namen des wertes ausslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
ah das prob ist das er ja nur die "ordner" auflistet -.- bei getkeynames
sprich wenn ich
regist.OpenKey('Software\Microsoft\Windows\ShellNo Roam\', false);

mache kommen dann die 4 unterordner

aber ich möchte in dem ordner

MUICache

wenn dann die zeichenfolge haben

hier mal ein bild im anhang

wie amn sieht öffne ich den schlüssel MUICache, mit delphi kann ich jetzt nur über den namen den wert ändern, aber ich muss über den wert den namen kopieren :( weil der name sich ja von rechner zu rechner ändert

Bummi 7. Nov 2010 19:37

AW: Registry den Namen des wertes ausslesen
 
Delphi-Quellcode:
regist.GetValueNames(ValueList);

MasterTobi 9. Nov 2010 10:22

AW: Registry den Namen des wertes ausslesen
 
-.- hatte es davor schon probiert da gings net :D

jetzt sagst du ich soll das nehmen ich mach un es eght -.- :D:D:D
dankö :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 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