2012-03-23 6 views
0

Windowsのオブジェクト(FileSize、FileType、Year、Label、DateModified、FileVersion)からファイルプロパティを取得する方法を教えてもらえますか?私はFileInfoクラスの情報にアクセスしようとしましたが、それは私が探しているすべての必要なプロパティを持っていないようです。他のどのライブラリは、私は、この情報にアクセスするために使用し、例を提供してくださいすることができれば、ちょっとMSDNに確認してくださいあなたのWindowsファイルシステムからファイルのプロパティを読み取っていますか?

+1

または http://www.codeproject.com/Articles/5036/ID3-Tagこのhttp://stackoverflow.com/questions/220097/read-write-extended-file-properties-cを試してみてください-Reader-Using-Shell-Functions – Mohit

答えて

1

ことのいくつかは、FileInfoオブジェクトですでに下盛です(Lengthはファイルサイズ、Modifiedは単にLastWriteTimeです)。情報の一部はFileVersionInfoから入手できます。 'タイプ'はややこしいですが、this投稿はレジストリでMIMEタイプを調べるための情報を持っています。これは、Windows 7上で私の仕事:

private static string GetType(string fileName) 
    { 
     string type = "Unknown"; 
     string ext = System.IO.Path.GetExtension(fileName).ToLower(); 
     Microsoft.Win32.RegistryKey regKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ext); 
     if (regKey != null && regKey.GetValue("") != null) 
     { 
      string lookup = regKey.GetValue("").ToString(); 
      if (!string.IsNullOrEmpty(lookup)) 
      { 
       var lookupKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(lookup); 
       if (lookupKey != null) 
       { 
        type = lookupKey.GetValue("").ToString(); 
       } 
      } 
     } 
     return type; 
    } 

それはあなたのファイルのプロパティの詳細タブページに表示タイプを生成します。たとえば、exeの場合は「Application」、bmpの場合は「Bitmap Image」です。

答えはhereです。windows api関数shgetfileinfoを使用してタイプを取得します。

関連する問題