Windows如何知道用什么程序打开文件?
How does Windows know what program to open a file with?
我刚刚注意到,当我在我的计算机上查看.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
下。
但在你的情况下,我认为你只需要阅读文件内容来确定它是哪一个。希望这两者之间有什么容易区分的
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 使用mongocxx驱动程序时包含头文件问题
- 使用VerQueryValue检索应用程序的文件描述
- 编译多文件C++程序
- Visual C 32位整数从文件到8位字符到文件 - 程序在某些整数上崩溃
- 文件程序不会停止显示垃圾值
- 简单的QT从文本文件程序中读取不编译
- 从文件 C++ 程序读取停止工作
- C++ - 需要有关如何正确设计多文件程序的建议
- C++文件 I/O - 程序挂起
- 简单的文件 I/O 程序C++
- 有一个简单的程序文件/程序文件(x86)指令的c++在windows
- 配置文件c++程序在perf
- 从同一文件夹读取文件(c++程序)
- 单文件程序的未定义虚函数表
- 无法用多文件程序创建SDL线程
- 我的第一个多文件C++程序不断给我错误消息
- 配置文件C++程序基于墙上的时钟时间与英特尔Vtune放大器
- c++复制文本文件程序使用头文件