首页 > 解决方案 > 从 windows 获取所有支持的扩展名列表

问题描述

我有一个要求,我需要从 Windows 操作系统获取所有支持的扩展。现在有不同的 Windows 版本提供不同的已知扩展名(取决于他们安装的应用程序),我需要一个脚本/代码,我可以使用它从操作系统中获取所有已知的扩展名。

标签: c#python.netwindowspowershell

解决方案


我不知道任何特定的 API,但最终这些数据存储在 Registery 中。对于这个领域,我会向您指出这篇 MSDN 文章,其中包含有关该主题的更多信息:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/630ed1d9-73f1-4cc0-bc84-04f29cffc13b/what-registry-keys-are-responsible-for-file-extension-association?forum= netfxbcl

但是,有几点需要考虑:

由于程序在做我只能描述为“扩展战争”的事情,因此与扩展相关的程序现在留给用户选择。所以写访问会很棘手。

另一个缺点是,不再存在简单的 1:1 关系。每个可以处理此扩展的程序都将在 Windows 中注册。实际使用的选项之一现在取决于用户。不幸的是,我不知道这如何改变注册表中的底层数据结构。或者存储其他选项的位置。


推荐阅读