通常、VB で書かれたプログラムは 32 ビット システムでは正常に実行できますが、64 ビット システムでは実行できますが、OEM 情報を変更することはできません。理由を調べたところ、「SYSTEM32」フォルダーにアクセスすると、システムは自動的に「SYSWOW64」フォルダーにリダイレクトすることがわかりました。ファイル リダイレクトと同様に、特定のレジストリ キーにアクセスすると、システムも自動的にリダイレクトします。 Wow6432Node へのプログラム アクセス。
まずファイル システム リダイレクトについて説明します。情報を調べてみたところ、VB 関連の情報はありませんでしたが、Wow64DisableWow64FsRedirection (システム リダイレクトをオフにする) と Wow64RevertWow64FsRedirection (システム リダイレクトをオンにする) という 2 つの関連関数が見つかりました。
VB の声明は次のとおりです。
プライベート宣言関数 Wow64RevertWow64FsRedirection Lib "kernel32.dll" ()プライベート宣言関数 Wow64DisableWow64FsRedirection Lib "kernel32.dll" ()
次に、 CALL Wow64DisableWow64FsRedirection ステートメントを使用して、ファイル システムのリダイレクトをオフにします。
レジストリ キーの操作について話しましょう。
これに関する VB の情報はまだありませんが、samDesired [Long] に 256 (&H100) を追加するだけでリダイレクトするかどうかを決定できる関数 RegOpenEx (VB にはこの機能があります。使用法については API ブラウザを参照してください) があることはわかっています。 64 ビットのレジストリにアクセスする関数のパラメータ。 API アクセスのレジストリ コードは多数あるため、ここでは掲載しません。