我开发了一个自定义属性表处理程序,可以在Windows 7和Windows 8上正常运行。在Windows 10上,它没有加载。看来Windows 10中的shell扩展注册有变化,但我没有追踪到具体细节。
我的属性表处理程序从jpeg文件(.jpe或.jpeg)中读取自定义XMP数据。如果我注册一个新的文件类型(即.photo扩展名)并注册我的处理程序,它按预期工作:
HKCR\.photo\shellex\PropertySheetHandlers\{my class id}
但是,如果我将其注册为现有的jpeg文件类型(jpegfile),则不会加载它:
HKCR\jpegfile\shellex\PropertySheetHandlers\{my class id}
同样,此问题仅发生在Windows 10上。在Windows 7和8上以HKCR \ jpegfile密钥类型注册时,处理程序正常工作。任何人都知道Windows 10可能有哪些更改?
答案 0 :(得分:0)
尝试注册如下:
HKCR\.jpeg\shellex\PropertySheetHandlers\{my class id}
HKCR\.jpg\shellex\PropertySheetHandlers\{my class id}
答案 1 :(得分:0)
HKEY_CLASSES_ROOT
似乎是deprecated:
HKEY_CLASSES_ROOT(HKCR)键包含文件扩展名 关联和COM类注册信息,如ProgIDs, CLSID和IID。 主要用于兼容 16位Windows中的注册表。
请将您的密钥移至HKEY_LOCAL_MACHINE\Software\Classes
(或当前用户HKEY_CURRENT_USER\Software\Classes
)。