現在、カスタムのシェル名前空間拡張(「サブフォルダ」と「ファイル」を含む仮想フォルダを表示するため)を作成しようとしていますが、これは実際には階層ツリーリモートサービスからの構造)。シェルの名前空間拡張がWindows 7で読み込まれない
拡張子はC#で書かれていますが、これは悪い考えでしたが、.NET 4では.NETランタイムの異なるバージョンが同じプロセス内に共存する可能性が導入されて以来、制限はもはや問題ではありませんでした。
これまでWindows XPでは豊富な例とリファレンスをウェブ上で利用できるようになっていますが、Windows 7で試してみると(まだVistaでは試していないので、そこで動作するかどうかは分かりません)、拡張機能はロードされません。私のデバッグログの出力によれば、それは正常に登録されますが、Windowsエクスプローラウィンドウを開くと、COMインターフェイスへの通常の呼び出しは発生しません(通常はIPersistFolder :: Initializeで始まります)。実際には、クラスコンストラクタも呼び出されていません。どのように.NETでそれを検出するかわからないので、インタフェースが(成功しているかどうか)照会されているかどうかわかりません。だから、基本的には、何かが間違っているかもしれないという有用な情報を記録する機会がなくても失敗するため、手がかりはありません。
誰かが問題の原因を知りましたか? Windows XPとは対照的に、Windows 7には、私が知っておくべきであるシェルの名前空間拡張を扱う際に考慮する必要のある特質がありますか?さらに詳しい情報が必要な場合は、質問してもらえますか(私はここでコード全体を貼り付けることを誰も認めないと確信していますので、私は簡潔にしています。単に)...これらはどれ
Um ...拡張は32ビットとしてコンパイルされ、Windows 7は64ビットですか? – GSerg
いいえ、32ビットのWin 7です。私は解決策が簡単だったらいいと思っています... –
これはあなたの質問に答えませんが、.NETはShell Namespace Extensionsではサポートされていませんhttp://msdn.microsoft.com/en-us/library/windows/desktop/dd758089 v = vs.85).aspx。 –