[Lazarus] Windows Registry, how do I read data from rdExpandString

Sven Barth pascaldragon at googlemail.com
Wed Feb 7 21:32:33 CET 2018


On 07.02.2018 20:52, Bo Berglund via Lazarus wrote:
> I had the impression before embarking on this that the 32 bit
> applications would read/write into Software/Wow6432Node/<target key>
> and would not be able to reach the Software/<target key>.
> But that seems not to be the case for my Lazarus program because in my
> viewer I can navigate the registry and I see the Wow6432Node item and
> can step into it too.

32-bit applications are de facto accessing Software/Wow6432Node/<target
key>, but to them it appears as if they're accessing Software/<target
key>. This is handled transparently by Windows.
If you want to disable this, you need to create the TRegistry class with
the KEY_WOW64_64KEY flag set, this way you'll access the real
Software/<target key>. Same is true if you use RegCreateKeyEx(),
RegOpenKeyEx() or RegDeleteKeyEx() directly.

Regards,
Sven


More information about the Lazarus mailing list