代码之家  ›  专栏  ›  技术社区  ›  Uwe Keim

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

  •  6
  • Uwe Keim  · 技术社区  · 15 年前

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

    如图所示:

    "Open with" context menu in Windows Explorer http://magerquark.de/data/misc/open-with.png

    现在,我希望能够从C.NET 2.0应用程序中以编程方式读取给定文件扩展名/类型(例如“png”)的应用程序列表。

    例如。

    public class FileOpenInfo
    {
        public string ApplicationName { get; }
        public string ApplicationPath { get; }
    
        public static FileOpenInfo[] GetInformation( string extension );
    }
    

    问题:

    是否可以获取此列表?

    1 回复  |  直到 10 年前
        1
  •  5
  •   Yvo    15 年前

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

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

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