0

従来のAspでは、File.Typeプロパティを使用して、レジストリからファイルタイプに関連付けられたフレンドリ名を取得しました(例:「。txt」の「テキストドキュメント」)。通常、古いCOMオブジェクトを置き換えるFileInfoクラスはこの機能を複製せず、これまでのところ、置き換えの検索であまり成功していません。

4

1 に答える 1

1

私はBCLのメソッドを知りませんが、レジストリから簡単に読み取ることができます。

using System;
using Microsoft.Win32;

class Program
{
    static void Main(string[] args)
    {

        string extension = ".txt";
        string nicename = "";

        using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(extension))
        {
            if (key != null)
            {
                string filetype = key.GetValue(null) as string;
                using (RegistryKey keyType = Registry.ClassesRoot.OpenSubKey(filetype))
                {
                    if (keyType != null)
                    {
                        nicename = keyType.GetValue(null) as string;
                    }
                }
            }
        }
        Console.WriteLine(nicename);

    }
}

ただし、 Vladimirが提供するリンクで使用される方法は、APIインターフェイスを使用するため推奨されます。

于 2009-10-17T20:55:19.120 に答える