0

Windows コンテキスト メニューを拡張するエクスプローラー用の COM Dll を作成しました。regsvr32 経由の登録は 32 ビット Windows では正常に動作しますが、64 ビットでは手がかりがないと動作しません。regsvr32 は登録の成功を報告しますが、Dll は機能していません。system32 だけでなく SysWow64 ディレクトリからも regsvr32 を呼び出そうとしましたが、推測できる限りこれが原因ではありません。レジストリを確認しました-もちろん、すべてがwow3264Nodeのレジストリに書き込まれました(インストールは64ビットOS上にあったため)。それでも何も起こりません。今のところ具体的な情報を提供するのは難しいです。誰かがそのような行動の他の考えられる原因を示唆または指摘できますか. 前もって感謝します。

4

1 に答える 1

0

DLLを64ビット用にコンパイルする必要があります。登録コードが書き込むという事実はWow6432Node、DLLが32ビットであることを示しています。64ビットOSでは、Explorerは64ビットプロセスであるため、64ビットシェル拡張のみをロードできます。

シェル拡張の32ビットバージョンと64ビットバージョンの両方を64ビットマシンに登録して、32ビットプログラムがシェル拡張を認識できるようにすることを忘れないでください。あなたはそれを使ってそれをしますC:\Windows\SysWOW64\regsvr32

于 2012-05-04T17:28:51.763 に答える