User since
2005-12-02
28
Artikel
BenutzerIn
Hallo zusammen,
ich habe eine kniffliges Problem: In der Registry unter Windows steht in einem definierten Schlüssel eine nicht bekannte Anzahl von weiteren Schlüsseln. Zudem sind die Namen der Schlüssel, da sie durchandere Programme erstellt werden (sind Hinweise auf Versionen), nicht bekannt.
Beispiel:
[HKEY_LOCAL_MACHINE\SOFTWARE\Test] <-- bekannt
[HKEY_LOCAL_MACHINE\SOFTWARE\Test\Key1] <-- zu finden
[HKEY_LOCAL_MACHINE\SOFTWARE\Test\Key2] <-- zu finden
Wie kann ich/ ist es überhaupt möglich ausgehen von dem Key HKLM\Software\Test die beiden Keys Key1 und Key2 herausfinden?
Besten Dank im voraus
Gruß
Franz-Josef
User since
2003-08-04
7321
Artikel
ModeratorIn
strange frage. aber die antwort ist natürlich: ja!
ich verrat dir sogar wie! :)
use strict;
use warnings;
use Win32::TieRegistry (Delimiter=> "/");
my $test_key = $Registry->{"HKEY_LOCAL_MACHINE/SOFTWARE/Test"};
foreach my $sub_key (keys %{ $test_key } ) {
print "Subkey: $sub_key\n";
}
weitere infos:
Win32::TieRegistry
User since
2005-12-02
28
Artikel
BenutzerIn
Hallo Esskar,
besten Dank für Deine Info. Leider klappt dies bei mir nicht, da ich das Modul Win32::TieRegistry nicht auf allen Rechnern installiert habe. Ich würde diese Abfrage mit den "Standard Modulen" des Active Perl umsetzen. Ist dies auch hier möglich?
Gruß
Franz-Josef
User since
2003-08-04
7321
Artikel
ModeratorIn
also ich hab vor 3 tagen auf einem neu installierten Rechner die neuste ActiveState Perl Version installiert und da war das Modul Win32::Tie Registry dabei.
Bist du sicher, dass du es nicht hast, odre gehst du einfach davon aus?
User since
2005-12-02
28
Artikel
BenutzerIn
Hallo Esskar,
ich bin auf Grund der Matrix auf den Seiten
Active State davon aus gegangen, das dieses Modul nicht in Standard dabei ist .
Gruß
Franz-Josef
User since
2003-08-04
7321
Artikel
ModeratorIn
strange.
aber einfach mal ausprobieren.
sollte gehen!
User since
2003-08-04
14371
Artikel
ModeratorIn
Du könntest das Modul zu Not auch
nachinstallieren
User since
2003-08-04
5246
Artikel
ModeratorIn
esskar: was sagt denn bei dir in der shell:
corelist -a Win32::Tie Registry
(wenn du
Module::CoreList installiert hast)
User since
2003-08-04
7321
Artikel
ModeratorIn
Win32::TieRegistry was not in CORE (or so I think)
natürlich.
core ist ja aber auch perl/lib (oder?)
zusätzlich füllt AS aber auch noch perl/site/lib
und da ist es drin. definitiv.
hab heute beim Kunden Perl installiert (einfach nur das neuste MSI File). Und dann mein script gestartet. Dieses benutzt Win32::TieRegistry. Und es lief ohne Probleme.