Windows如何知道用什么程序打开文件?

How does Windows know what program to open a file with?

本文关键字:文件 程序 什么 何知道 Windows      更新时间:2023-10-16

我刚刚注意到,当我在我的计算机上查看.sln文件时,有些有v7.1图标,有些有v9图标,有些有v10图标(取决于Visual Studio创建它们的版本)。看来,Windows区分哪些文件得到哪些图标,可能是通过某种"MIME类型"的文件除了扩展名。

如果两个文件类型共享一个扩展名,我可以使用该功能来检测用户从默认的MFC保存对话框中选择哪个文件类型吗?

在Visual Studio的情况下,.sln文件与Microsoft Visual Studio版本选择器相关联,在我的机器上,它安装在"C:Program files Common files Microsoft sharedMSEnvVSLauncher.exe"

此可执行文件必须解析解决方案文件以确定版本,然后将正确的图标呈现给资源管理器。

在一般情况下,给定文件类型的文件关联存在于注册表中,在HKEY_CLASSES_ROOT下。

但在你的情况下,我认为你只需要阅读文件内容来确定它是哪一个。希望这两者之间有什么容易区分的