2010-01-27 5 views
0

Windows에서 파일을 마우스 오른쪽 단추로 클릭하고 메뉴에서 "속성"을 선택하면 속성 창이 열립니다. 대부분의 파일 유형에 대한 해당 창에는 다양한 정보가 들어있는 "요약"탭이 있습니다.파일의 요약 정보에 액세스하는 관리되는/.NET 방식이 있습니까?

해당 정보를 검색하는 관리되는/.NET 방식이 있습니까? 나는이 작업이 매우 사소한 일이며 System.IO.FileInfo 객체의 일부 사전 객체의 일부가 될 것이라고 잘못 가정했습니다. 원하는 태그 문자열을 피드로 제공 할 수 있습니다. 값. 나는 틀렸어.

내 검색에는 모두 셸 명령, API 호출 또는 com 객체 설치에 대한 언급이 있습니다. 그것들은 대체 솔루션이고 (나는 오히려 피해야 할 해결책이다). .NET에서 정보에 액세스하는 방법을 간과한다면 정말로 알고 싶습니다.

답변

0

당신이 원하는 것은 Structured Storage이며,이 정보는 StgOpenStorageEx (Ole32.dll)을 통해 액세스 할 수 있습니다. 이 방법에 대해 pinvoke.net page을 보면 System.IO.Packaging.StorageInfo을 사용하여 일부 기능을 추출 할 수 있지만이 작업을 수행하려면 약간의 작업이 필요하며 여전히 P/Invoke를 사용해야하는 것으로 보입니다.

+0

예, 당신이 내가 발견 한 것을 확인하고 있습니다. 한숨, 나는 정말로 다른 방법이 있기를 바랬다. 그것이 내가 듣지 않기를 바라고 있었던 사람이라도 대답에 감사드립니다! –

0

나는이 이 모든 System.IO.FileInfo 개체의 일부 사전 개체의 일부가 될 것입니다 사소한 할 것이나 될 것이라고 잘못 추정했다 당신은 단지 그것을 먹이를 수 당신이 원하는 그리고 당신이 System.Diagnostics.FileVersionInfo를 시도

System.IO.FileInfo.Attributes 
+0

그가 찾고있는 것이 아닙니다. – jason

+0

오, 그게. 필자는 OS가 알려진 파일 형식을 읽을 수있는 능력이라고 생각합니다. 파일 시스템의 일부라고 생각하지 않습니다 (어딘가에 캐시 될 수도 있음). – Jay

0

일부 값을 반환 태그의 문자열?

var fvi = FileVersionInfo.GetVersionInfo("c:\temp.txt"); 

패트릭.

0

Office 문서에 대해 편집 할 수있는 DSOfile.dll이 있습니다. 불행히도 이러한 속성은 파일에 대해 보편적이라고 생각하지 않습니다. 항상 사용할 수있는 것은 아닙니다.

COM 개체가 대체 솔루션이라는 단락을 다시 읽으십시오. 그러나 이것은 MS 웹 사이트에서 제공되는 솔루션이므로 더 잘 할 생각은 없습니다.

관련 문제