Windows 8 添加了 Metro 应用。由于 Metro 应用的运行方式与其他程序不同,因此文件关联似乎与其他程序不同。Windows 中如何关联文件?
答案1
默认打开类型在用户选择键下显示:HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.[desiredFileExtension]\\UserChoice\\ProgId
如果此键不存在则默认:HKEY_CLASSES_ROOT\\.[desiredFileExtension]\\(default)
然后必须检查此类型以确定如何处理它,它被检查:HKEY_CLASSES_ROOT\\[openingType]\\shell
这里的默认值应该告诉您在 shell 下使用了什么动词,例如:HKEY_CLASSES_ROOT\\[openingType]\\shell\\open
运行的命令位于:HKEY_CLASSES_ROOT\\[openingType]\\shell\\[verb]\\command
如果命令不是 DelegateExecute,您就完蛋了!是的,否则您必须继续挖掘……
动词下应该包含ActivatableClass和PackageId:HKEY_CLASSES_ROOT\\[openingType]\\shell\\[verb]\\ActivatableClassId HKEY_CLASSES_ROOT\\[openingType]\\shell\\[verb]\\PackageId
记住这些值并检查以下值:HKEY_CLASSES_ROOT\\ActivatableClasses\\Package\\[PackageId Value]\\ActivatableClassId\\[ActivatableClassId Value]\\Server
最后检查HKEY_CLASSES_ROOT\\ActivatableClasses\\Package\\[PackageId Value]\\Server\\[Server Value]\\EXEPath
现在您/Windows 知道哪个应用程序与所需文件类型相关联!很简单吧?...
注意:我花了大约一周的时间手动检查注册表,终于搞清楚了这一点,我认为如果有人再次需要它,我应该在这里发布它。如果我遗漏了什么或说错了什么,请告诉我。