Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^2: access 64bit registry from 32 bit Perl

by anaconda_wly (Scribe)
on Dec 05, 2012 at 15:58 UTC ( #1007310=note: print w/ replies, xml ) Need Help??


in reply to Re: access 64bit registry from 32 bit Perl
in thread access 64bit registry from 32 bit Perl

Thanks for your code.

It took me some time to understand. But sorry maybe I didn't catch the point, for I didn't see how you resolve the problem of 32bit program accessing a 64bit program's registry in 64bit OS

In fact, any trying of accessing to "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" will be redirected to "HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\" automatically. That means I can never get content of "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" branch, which is what I want using a 32bit Perl program and different from "HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\"

The Perl code I wrote is like what you have written somewhat, but didn't work as I wished. I spent a lot of time to check why I didn't get the correct content as seeing from regedit. Later I understand by searching websites that the WoW64 is doing the redirecting...


Comment on Re^2: access 64bit registry from 32 bit Perl
Re^3: access 64bit registry from 32 bit Perl
by Anonymous Monk on May 11, 2013 at 17:26 UTC
    I had a similar problem and solved it like:
    use Win32API::Registry qw(:ALL); ... if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Cryptograp +hy", 0, KEY_READ|0x0100, $key ) ) { RegQueryValueEx($key, "MachineGuid", [], $type, $nodeId, []); RegCloseKey( $key ); }
    The point is 'KEY_READ|0x0100'. From http://msdn.microsoft.com/en-us/library/aa384129%28VS.85%29.aspx:
    #define KEY_WOW64_64KEY 0x0100 Access a 64-bit key from either a 32-bit or 64-bit application.
    regards

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1007310]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (8)
As of 2014-12-20 16:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (96 votes), past polls