4

BHO (C++ コード) の 32 ビット バージョンと 64 ビット バージョンを作成しました。32 ビット バージョンは IE 9 32 ビットで正常にロードされますが、64 ビット バージョンは Windows 7 の IE 9 64 ではロードされません。

私はそれを再確認しました:

  • 64ビットDLLは実際には64ビットコードです(dumpbin /headersDLL上)
  • レジストリ エントリが正しくHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper ObjectsHKEY_CLASSES_ROOT\Wow6432Node\CLSID
  • 私のIE 64ビットはサードパーティの拡張機能をロードできます(実際には2つのBHOがロードされています)

この時点で問題をデバッグするために何をすべきかわかりません。

注:ブラウザー ヘルパー オブジェクトが IE8 に読み込まれないことや、64 ビット BHO に関するその他の関連する質問があることは承知していますが、それらの問題と解決策は異なります。

4

1 に答える 1

1

問題は、BHO を 64 ビット用に登録する方法についての私の誤解でした。regsvr32 の 32 ビットまたは 64 ビット バージョンを呼び出すことにより、DLL は 32 ビット (Wow6432Node) または 64 ビットとして登録されます。適切な regsvr32 を呼び出すためだけに、DLL 内で使用するレジストリについて心配する必要はありません。

于 2013-01-08T02:32:41.153 に答える