如何在Windows中获取“打开方式”应用程序的完整路径?

时间:2015-11-20 13:41:26

标签: c#

我知道我可以使用

获取默认的“打开方式”应用程序名称,作为文件扩展名
String ext = ".dds"
String baseKey="HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\";
Object mruObj = Registry.GetValue(baseKey + ext + "\\OpenWithList", "MRUList", null);

if(mruObj != null)
{
    String key = ((String)mruObj).Substring(0, 1);
    Object progObj = Registry.GetValue(baseKey + ext + "\\OpenWithList", key, null);
    if(progObj != null)
    {
        //(String)progObj = "Photoshop.exe"
    }
}

我也知道我可以通过启动一个新流程获得完整路径,包含具有所述扩展名的文件,并阅读返回Process对象的Module[0].Filename

因此,如果Windows可以提供关联应用程序的路径,而不是将其存储在PATH中,为了首先启动它,那么必须有一种方法来获取相同的信息而无需启动处理。我希望有人可以与我分享这种“方式”。

0 个答案:

没有答案