2015-12-01 2 views
9

Windows 7とWindows 8で正常に動作するカスタムプロパティシートハンドラーを開発しました.Windows 10ではロードされません。 Windows 10でシェル拡張の登録に変更があったように見えますが、詳細を追跡していません。Windowsのプロパティシートハンドラー

私のプロパティシートハンドラは、jpegファイル(.jpeまたは.jpeg)からカスタムXMPデータを読み込みます。私は、新しいファイルの種類を登録する(すなわち、.photo拡張子)と、そのための私のハンドラを登録した場合、それが期待どおりに動作:

HKCR\.photo\shellex\PropertySheetHandlers\{my class id} 

をしかし、私は既存のJPEGファイルの種類(jpegfile)のためにそれを登録した場合、それをロードされていません。

HKCR\jpegfile\shellex\PropertySheetHandlers\{my class id} 

は再び、この問題は、Windows 10で発生したのWindows 10で変更された可能性があるものの意識のWindows 7と8誰でも上のキータイプjpegfile HKCR \の下に登録されたときにハンドラが正常に動作します?

答えて

0

は、以下のように登録してみてください。

HKCR\.jpeg\shellex\PropertySheetHandlers\{my class id} 
HKCR\.jpg\shellex\PropertySheetHandlers\{my class id} 
+0

すでに試してみましたが、動作しません。 – Mike

0

HKEY_CLASSES_ROOTdeprecatedのようだ:

HKEY_CLASSES_ROOT(HKCR)キーは、ファイル名の拡張子に、このようなProgIDの、 として 団体やCOMクラスの登録情報が含まれていますCLSID、およびIID。 これは、主に16ビットWindowsの レジストリとの互換性を目的としています。

HKEY_LOCAL_MACHINE\Software\Classes(現在のユーザーの場合はHKEY_CURRENT_USER\Software\Classes)にキーを移動してください。

+1

HKEY_CLASSES_ROOTは、HKEY_LOCAL_MACHINE \ Software \ Classesのショートカットです。 1つのエントリを作ることは自動的に他のものに反映されます – Mike

+1

これは実際には 'HKEY_LOCAL_MACHINE \ Software \ Classes'と' HKEY_CURRENT_USER \ Software \ Classes'の両方の値を表す結合キーです。 * HKEY_CLASSES_ROOTの下にあるキーに値を書き込んだ場合、そのキーはすでにHKEY_CURRENT_USER \ Software \ Classesの下に存在する場合、システムはそこに情報を格納しますHKEY_LOCAL_MACHINE \ Software \ Classesの代わりに。* – KompjoeFriek

+0

説明をありがとう。ああ、その提案はうまくいかなかった(HKEY_LOCAL_MACHINE \ Software \ ClassesではなくHKEY_CURRENT_USER \ Software \ Classesの下にキーを追加する)。 – Mike

関連する問題