[英]C#: How can I retrieve the description of a folder?
所有文件夾都具有一種類型:它們中的大多數都被命名為“文件文件夾”,但有些則被稱為“媒體服務器”或“本地硬盤驅動器”(翻譯)。 如何使用C#檢索那些文件夾類型? 我發現了以下文件: 如何獲取.NET中文件擴展名的描述
SHGetFileInfo是您需要的功能。 您需要將標志FILE_ATTRIBUTE_DIRECTORY
作為參數傳遞給dwFileAttributes
參數。
public static string GetFileFolderTypeDescription(string fileNameOrExtension)
{
SHFILEINFO shfi;
if (IntPtr.Zero != SHGetFileInfo(
fileNameOrExtension,
FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_DIRECTORY,
out shfi,
(uint)Marshal.SizeOf(typeof(SHFILEINFO)),
SHGFI_USEFILEATTRIBUTES | SHGFI_TYPENAME))
{
return shfi.szTypeName;
}
return null;
}
每個文件夾中都有一個名為desktop.ini
的文件,其中包含轉換后的文件夾描述和INI文件格式的文件夾圖標。 也許您需要閱讀。
我發現對於系統文件夾,它引用了系統DLL中的資源,因此它可能並不像看起來那樣簡單。
話雖如此,您也可以嘗試使用SHGetFileInfo函數來獲取該信息。
剛剛看到Sriram Sakthivel使用SHGetFileInfo
給出了一個很好的答案,所以去吧。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.