Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows文件关联是否正确完成?_Windows_Installation_Registry_File Association - Fatal编程技术网

Windows文件关联是否正确完成?

Windows文件关联是否正确完成?,windows,installation,registry,file-association,Windows,Installation,Registry,File Association,我想将我的应用程序设置为在Windows中具有文件关联(额外的复杂性:文件扩展名可能与其他无关的应用程序冲突)。处理这种情况的最好方法是什么?最有可能的是,用户不会同时拥有这两种功能,但如果两者都拥有,那么最好的方式是什么 我一直在网上搜索stackoverflow和其他各种网站,并对如何做到这一点有了基本的想法(我已经尝试过了,而且效果很好),但找不到关于如何最好地做到这一点的明确参考 一些参考称,将条目放入HKEY_CLASSES_ROOT的注册表中。有人说不要这样做,而是把它放进HKEY_

我想将我的应用程序设置为在Windows中具有文件关联(额外的复杂性:文件扩展名可能与其他无关的应用程序冲突)。处理这种情况的最好方法是什么?最有可能的是,用户不会同时拥有这两种功能,但如果两者都拥有,那么最好的方式是什么

我一直在网上搜索stackoverflow和其他各种网站,并对如何做到这一点有了基本的想法(我已经尝试过了,而且效果很好),但找不到关于如何最好地做到这一点的明确参考

一些参考称,将条目放入HKEY_CLASSES_ROOT的注册表中。有人说不要这样做,而是把它放进HKEY_LOCAL_机器\软件\类中

应用程序是否也需要在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Path或HKEY_CLASSES\u ROOT\Applications下注册(参考上面关于HKEY_CLASSES\u ROOT与HKEY_LOCAL_MACHINE\Software\CLASSES的讨论,这在技术上是否正确)

我还看到一些页面建议设置“CurVer”和“OpenWithProgids”,但我不确定它们会有什么帮助

我发现我可以创造

HKEY\U LOCAL\U MACHINE\Software\Classes.aaa (默认值)aapp

HKEY\ U本地\计算机\软件\类\ AAPP (默认值)aapp 默认图标“%mypath%\to\AAAappIcon.ico” shell\open\命令“%mypath%\to\AAAapp.exe”“%1”

它是有效的。我没有创建应用程序路径或应用程序注册表项,因此这些注册表项似乎不会影响此操作。同样,上面的内容似乎没有规定如何很好地处理系统上已经存在“.aaa”文件扩展名关联的情况

感谢您的指导

老问题——7.5个月都没有答案——但下面的内容可能会对未来的谷歌用户(比如我)有所帮助

HKEY_CLASSES_ROOT是

  • HKEY\uU本地\u机器\Software\Classes
  • HKEY\uU当前用户\Software\Classes
您不应该向HKEY_CLASSES_ROOT写入,只需以只读方式使用即可。此外,建议的做法是向HKEY_CURRENT_USER\Software\Class而不是HKEY_LOCAL_机器写入,除非您确实需要为所有用户设置内容

微软的文档似乎相当冗长和分散,所以我花了很长时间才确定我需要为自己的小应用程序做些什么。但是,最好还是先尝试一下官方文件(除非有人能给我们指出一个能更好地解释事情的地方),如果不能理解的话,以后再提问

微软关于这个领域的文档的入口点是“桌面应用技术”

对于文件类型注册,它让我在

从那里进入“文件类型和文件关联”,子菜单涵盖了您需要的一切(以及更多)

记得写信给HKCU\Software\Classes。似乎当HKEY|U CLASSES|U ROOT(HKCR)写入文档时,它通常只是引用(HKCU | HKLM)\Software\CLASSES的一种方便方式

关于“HKEY\U本地\U机器\Software\Microsoft\Windows\CurrentVersion\App路径”或“HKEY\U类\U根\Applications”:

MS文档解释了它们与您已经使用的密钥的关系。(我还在想办法,所以不能提供更直接的解释。)

有些地方似乎说“应用程序路径”是首选,但实际上您可能需要同时使用这两种路径,因为“应用程序路径”实际上只是关于路径的,而诸如SupportedTypes和FriendlyAppName等内容仅在“HK(LM | CU)\Classes\Applications”中

老问题——7.5个月都没有答案——但下面的内容可能会对未来的谷歌用户(比如我)有所帮助

HKEY_CLASSES_ROOT是

  • HKEY\uU本地\u机器\Software\Classes
  • HKEY\uU当前用户\Software\Classes
您不应该向HKEY_CLASSES_ROOT写入,只需以只读方式使用即可。此外,建议的做法是向HKEY_CURRENT_USER\Software\Class而不是HKEY_LOCAL_机器写入,除非您确实需要为所有用户设置内容

微软的文档似乎相当冗长和分散,所以我花了很长时间才确定我需要为自己的小应用程序做些什么。但是,最好还是先尝试一下官方文件(除非有人能给我们指出一个能更好地解释事情的地方),如果不能理解的话,以后再提问

微软关于这个领域的文档的入口点是“桌面应用技术”

对于文件类型注册,它让我在

从那里进入“文件类型和文件关联”,子菜单涵盖了您需要的一切(以及更多)

记得写信给HKCU\Software\Classes。似乎当HKEY|U CLASSES|U ROOT(HKCR)写入文档时,它通常只是引用(HKCU | HKLM)\Software\CLASSES的一种方便方式

关于“HKEY\U本地\U机器\Software\Microsoft\Windows\CurrentVersion\App路径”或“HKEY\U类\U根\Applications”:

MS文档解释了它们与您已经使用的密钥的关系。(我还在想办法,所以不能提供更直接的解释。)

有些地方似乎说“应用程序路径”是首选,但实际上您可能需要同时使用这两种路径,因为“应用程序路径”实际上只是关于路径的,而诸如SupportedTypes和FriendlyAppName等内容仅在“HK(LM | CU)\Classes\Applications”中