Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Registry-Umleitung

33 views
Skip to first unread message

Klaus Ketelaer

unread,
Feb 20, 2018, 7:49:39 AM2/20/18
to
Hallo zusammen,

ich versuche unter Windows 7 64 Bit den Reg-Schlüssel

SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId

zu lesen. Im RegEdit ist der Schlüssel vorhanden.


Normalerweise werden die Zugriffe jedoch nach

SOFTWARE\Wow6432Node\Microsoft\Windows NT\...

umgeleitet, wo es diesen Schlüssel jedoch nicht gibt, was dazu
führt, dass RegQueryValueEx immer den Fehlercode 2 auswirft.


Wie lese ich denn nun den Schlüssel aus?


In VBScript geht das ganz einfach mit

szName =
objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\DigitalProductId")

Versuche ich es aus VB heraus mit

Set oShell = CreateObject("WScript.Shell") etc...

kann ich den Schlüssel wieder nicht öffnen.


Versuche ich mit RegQueryValueEx und der Konstanten KEY_WOW64_64KEY
auf den Schlüssel zuzugreifen, raucht mir jedes mal die IDE ab...


Hat von euch jemand eine Idee, wie ich an den Schlüssel komme?

Ich bin schon fast so weit, den mit VBScript wo anders hin zu kopieren...

Gruß Klaus

Christian Zimmermann

unread,
Feb 20, 2018, 9:20:24 AM2/20/18
to
Hallo Klaus,

Am 20.02.2018 um 13:49 schrieb Klaus Ketelaer:
> Hallo zusammen,
>
> ich versuche unter Windows 7 64 Bit den Reg-Schlüssel
>
>   SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId
>
> zu lesen. Im RegEdit ist der Schlüssel vorhanden.
>
>
> Normalerweise werden die Zugriffe jedoch nach
>
>   SOFTWARE\Wow6432Node\Microsoft\Windows NT\...
>
> umgeleitet, wo es diesen Schlüssel jedoch nicht gibt, was dazu
> führt, dass RegQueryValueEx immer den Fehlercode 2 auswirft.
>
>
> Wie lese ich denn nun den Schlüssel aus?

Hierzu kommst du evt. mit folgendem Artikel weiter:

https://msdn.microsoft.com/de-de/library/windows/desktop/aa965884(v=vs.85).aspx

Auf Programmebene kann dies wohl per "requestedExecutionLevel" im
Manifest geregelt werden.


> In VBScript geht das ganz einfach mit
>
>   szName =
> objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
> NT\CurrentVersion\DigitalProductId")

wird wohl in einem 64bit-Prozess laufen ...

> Versuche ich es aus VB heraus mit
>
>   Set oShell = CreateObject("WScript.Shell") etc...
>
> kann ich den Schlüssel wieder nicht öffnen.

32bit ;-)

Hth.

Gruß,
Christian

Klaus Ketelaer

unread,
Feb 20, 2018, 10:07:22 AM2/20/18
to
Am 20.02.2018 um 15:20 schrieb Christian Zimmermann:
> Hallo Klaus,
Hallo Christian,
>
> Hierzu kommst du evt. mit folgendem Artikel weiter:
>
> https://msdn.microsoft.com/de-de/library/windows/desktop/aa965884(v=vs.85).aspx
>
Leider nicht, denn in den Pfaden scheint Windows selber
kaum etwas zu speichern. Windows NT/CurrentVersion ist
dort komplett leer.

> Auf Programmebene kann dies wohl per "requestedExecutionLevel" im
> Manifest geregelt werden.
>
>
>> In VBScript geht das ganz einfach mit
>>
>>   szName =
>> objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
>> NT\CurrentVersion\DigitalProductId")
>
> wird wohl in einem 64bit-Prozess laufen ...
>
>> Versuche ich es aus VB heraus mit
>>
>>   Set oShell = CreateObject("WScript.Shell") etc...
>>
>> kann ich den Schlüssel wieder nicht öffnen.
>
> 32bit ;-)

Ich frage mich nur, warum ich im gleichen Pfad den Schlüssel
über "DigitalProductId" lesen kann, und den darunter auch.

Ich kann im Grunde alles lesen, was es unter

SOFTWARE\Wow6432Node\Microsoft\Windows NT\...

ebenfalls gibt, weshalb ich glaube, dass ich dort richtig bin.

Eine alte 32 Bit Version von Everest (2010) kann den Schlüssel
ja auch lesen...

Das Problem habe ich bei Google unzählige male gefunden, aber
keine einzige Lösung:-(

Ich glaub ich mach Feierabend für heute;-)

Dank und Gruß Klaus

Christian Zimmermann

unread,
Feb 21, 2018, 11:16:32 AM2/21/18
to
Hi Klaus,

ich hätte noch folgendes anzubieten:

WOW6432Node Registry

https://foren.activevb.de/archiv/vb-classic/thread-407580/beitrag-407581/Re-WOW6432Node-Registry/

Und dort wird verwiesen auf

https://msdn.microsoft.com/de-de/library/windows/desktop/aa384129(v=vs.85).aspx

Ich denke, das liegt näher an der Problemlösung :-)

Gruß,
Christian

Klaus Ketelaer

unread,
Feb 21, 2018, 3:37:37 PM2/21/18
to
Am 21.02.2018 um 17:16 schrieb Christian Zimmermann:
> Hi Klaus,
Hallo Christian,
Danke für deine Mühe,

aber das ist ja genau das, was ich ebenfalls versucht habe und mit

> Versuche ich mit RegQueryValueEx und der Konstanten KEY_WOW64_64KEY
> auf den Schlüssel zuzugreifen, raucht mir jedes mal die IDE ab...

geschildert habe.

Ich werde mich da morgen noch einmal in Ruhe ran begeben.

Dank und Gruß

Klaus

Christian Zimmermann

unread,
Feb 22, 2018, 9:33:07 AM2/22/18
to
Hallo Klaus,

habe mit Win10pro 64bit getestet. Ging ohne Probleme, auch aus der IDE
heraus.
Dann sollte das auch mit Win7 64bit klappen.

Gruß,
Christian
0 new messages