以编程方式从.NET访问“打开方式”Windows资源管理器菜单列表

时间:2010-01-10 16:45:14

标签: c# .net windows-shell windows-explorer

在Windows资源管理器中右键单击文件时,“打开方式”菜单项会根据所单击文件的文件类型显示可用应用程序列表。

以此图片为例:

"Open with" context menu in Windows Explorer
(来源: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 );
}

问题:

是否可以获得此列表?

1 个答案:

答案 0 :(得分:5)

与文件扩展名关联的程序列表存储在Windows注册表中。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts

Microsoft.Win32包含访问注册表的类 有关详细信息,请阅读更多here