【发布时间】:2015-07-01 15:28:59
【问题描述】:
我想将我的应用程序设置为在 Windows 中具有文件关联(额外的复杂情况:文件扩展名可能与其他一些不相关的应用程序冲突)。处理这种情况的最佳方法是什么?最有可能的是,用户不会同时拥有两者,但如果他们拥有,那么最好的方法是什么?
我一直在网上搜索 stackoverflow 和其他各种网站,并且对如何做到这一点有一个基本的想法(我已经尝试过了,它确实有效),但找不到关于如何最好地完成的明确参考.
一些参考资料说将条目放入注册表中的 HKEY_CLASSES_ROOT。有人说不要这样做,而是将其放入 HKEY_LOCAL_MACHINE\Software\Classes 中。
应用程序是否还需要在 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths 或 HKEY_CLASSES_ROOT\Applications 下注册(参考关于 HKEY_CLASSES_ROOT 与 HKEY_LOCAL_MACHINE\Software\Classes 的讨论,这甚至是技术上正确的位置吗?以上)?
我还看到一些页面建议设置“CurVer”和“OpenWithProgids”,但我不确定它们会有什么帮助。
我发现我可以创建
HKEY_LOCAL_MACHINE\Software\Classes.aaa (默认)AAAapp
HKEY_LOCAL_MACHINE\Software\Classes\AAAapp (默认) AAAapp DefaultIcon "%mypath%\to\AAAappIcon.ico" shell\open\command "%mypath%\to\AAAapp.exe" "%1"
它有效。我没有创建 App Paths 或 Applications 注册表项,因此这些项似乎不会影响这一点。同样,上述内容似乎没有规定很好地处理系统上已经存在“.aaa”文件扩展名的关联的情况。
感谢任何指导!
【问题讨论】:
标签: windows installation registry file-association