在Windows资源管理器中右键单击文件时,“打开方式”菜单项会根据所单击文件的文件类型显示可用应用程序列表。
以此图片为例:
(来源:magerquark.de)
现在,我希望能够以编程方式从C#.NET 2.0应用程序中读取给定文件扩展名/类型(例如“png”)的应用程序列表。
E.g。
public class FileOpenInfo
{
public string ApplicationName { get; }
public string ApplicationPath { get; }
public static FileOpenInfo[] GetInformation( string extension );
}
问题:
是否可以获得此列表?
答案 0 :(得分:5)
与文件扩展名关联的程序列表存储在Windows注册表中。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
Microsoft.Win32包含访问注册表的类 有关详细信息,请阅读更多here