Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7343[/thread]

Windows Registry: Verzeichnis durchlaufen...

Leser: 2


<< >> 2 Einträge, 1 Seite
_Sietsch_
 2005-10-13 17:53
#58735 #58735
User since
2005-05-15
26 Artikel
BenutzerIn
[default_avatar]
Moin!

Wie man in der Registry Werte abfragt, ist klar:
Code: (dl )
1
2
3
$::HKEY_LOCAL_MACHINE->Open("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", $obj) or die "Can't open: $!"; 
$obj->QueryValueEx("ProductId", $type, $value) or die "Error: $!";
print "Die OEM lautet: $value\n";


"CurrentVersion" ist also sozusagen die unterste Stufe der Hierarchie und dort gibt es den Key "ProductId".
Was aber, wenn ich ein ganzen Verzeichnis duchlaufen will.
"CurrentVersion" hat noch viele viele Unterverzeichnisse. Diese alle per Namen anzusprechen wäre viel zu aufwändig! Man muss sie doch auch durchlaufen können...
Wie mache ich das?


Gruß,
_Sietsch_
pKai
 2005-10-14 00:00
#58736 #58736
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
use Win32::TieRegistry;

ist deutlich übersichtlicher als Win32::Registry in der Handhabung.
Die Registry wird dabei als Hash-of-hashes dargestellt, die man z. B. Dumpen kann, oder auch leicht durch eigene (rekursive) Funktionen durchwühlen. Jedenfalls einfacher als mit dem alten Modul mit seiner komplizierten Schnittstelle.
[quote=Name/Title,perldoc Win32::Registry]Win32::Registry - accessing the Windows registry [obsolete, use Win32::TieRegistry][/quote]
[quote=Description,perldoc Win32::Registry]For more powerful and flexible ways to access the registry, use Win32::TieRegistry.[/quote]
I sense a soul in search of answers.
<< >> 2 Einträge, 1 Seite



View all threads created 2005-10-13 17:53.