2012-03-23 5 views
0

누구든지 Windows 개체 (예 : FileSize, FileType, Year, Label, DateModified, FileVersion)에서 파일 속성을 가져 오는 방법을 알려줄 수 있습니까? FileInfo 클래스의 정보에 액세스하려고 시도했는데 찾고있는 모든 필요한 속성이없는 것으로 보입니다. 다른 어떤 도서관은이 정보에 액세스하는 데 사용하고 예제를 제공하시기 바랍니다 수 있다면, 헤이 MSDN 확인 당신에게Windows 파일 시스템에서 파일 속성 읽기?

+1

이 http://stackoverflow.com/questions/220097/read-write-extended-file-properties-c을 시도 또는 http://www.codeproject.com/Articles/5036/ID3-Tag -Reader-Using-Shell-Functions – Mohit

답변

1

그 중 일부에서는 FileInfo 이미 avaiable이다입니다 (길이는 파일 크기이며, 수정 된 날짜는 단순히 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 function shgetfileinfo를 사용하여 유형을 얻습니다.