我刚刚注意到,当我在计算机上查看 .sln
文件时,有些文件有 v7.1 图标,有些有 v9 图标,有些有 v10 图标(取决于什么创建它们的 Visual Studio 版本)。似乎 Windows 区分哪些文件获得哪些图标,可能是通过某种“MIME 类型”来区分文件的扩展名。
如果两种文件类型共享一个扩展名,我能否使用该功能来检测用户从默认 MFC 另存为对话框中选择的文件类型?
最佳答案
对于 Visual Studio,.sln
文件与 Microsoft Visual Studio Version Selector 相关联,在我的机器上,它安装在 "C :\Program Files\Common Files\microsoft shared\MSEnv\VSLauncher.exe"
此可执行文件必须解析解决方案文件以确定版本,然后向资源管理器显示正确的图标。
在一般情况下,给定文件类型的文件关联存在于注册表中,位于 HKEY_CLASSES_ROOT
下。
但在您的情况下,我认为您只需要阅读文件内容来确定它是哪一个。希望两者之间有一些容易区分的东西。
关于c++ - Windows 如何知道用什么程序打开文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16428700/