Normalerweise können in VB geschriebene Programme normal auf 32-Bit-Systemen ausgeführt werden, aber auf 64-Bit-Systemen können sie ausgeführt werden, können aber keine OEM-Informationen ändern. Nachdem wir nach dem Grund gesucht haben, können wir feststellen, dass das System beim Zugriff auf den Ordner „SYSTEM32“ automatisch auf den Ordner „SYSWOW64“ umleitet, ähnlich wie bei der Dateiumleitung Programmzugriff auf Wow6432Node.
Lassen Sie uns zunächst über die Dateisystemumleitung sprechen. Ich habe einige Informationen nachgeschlagen und es gibt keine VB-bezogenen Informationen, aber ich kann zwei verwandte Funktionen finden: Wow64DisableWow64FsRedirection (Systemumleitung deaktivieren) und Wow64RevertWow64FsRedirection (Systemumleitung aktivieren).
Die Aussage von VB lautet wie folgt:
Private Deklarationsfunktion Wow64RevertWow64FsRedirection Lib „kernel32.dll“ ()Private Deklarationsfunktion Wow64DisableWow64FsRedirection Lib „kernel32.dll“ ()
Verwenden Sie dann die Anweisung CALL Wow64DisableWow64FsRedirection, um die Dateisystemumleitung zu deaktivieren.
Lassen Sie uns über die Steuerung von Registrierungsschlüsseln sprechen:
Es gibt noch keine VB-Informationen dazu, aber ich weiß, dass es eine Funktion RegOpenEx gibt (VB hat diese Funktion, siehe API-Browser zur Verwendung), die entscheiden kann, ob eine Umleitung durchgeführt werden soll. Fügen Sie einfach 256 (&H100) zum samDesired [Long] hinzu. Parameter der Funktion für den Zugriff auf die 64-Bit-Registrierung. Da es viele Registrierungscodes für den API-Zugriff gibt, werde ich sie hier nicht veröffentlichen.