Все папки имеют тип: большинство из них имеют имя «папка с файлами», но некоторые из них называются «Mediaserver» или «Local harddrive» (переводы). Как получить эти типы папок с помощью C#? Я нашел это для файлов: How can I get the description of a file extension in .NETC#: Как получить описание папки?
ответ
SHGetFileInfo - это функция, в которой вы нуждаетесь. Вам необходимо передать флаг FILE_ATTRIBUTE_DIRECTORY
в качестве параметра в параметр dwFileAttributes
.
На основании same answer you linked Я изменил код, чтобы он работал для каталогов.
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
, чтобы идти к этому.
Вы только что образовали меня о * desktop.ini *. Спасибо –
@SriramSakthivel меня тоже ... – YoYoYonnY
- 1. Получить описание процесса, используя C#
- 2. Как получить папки в c?
- 3. Как получить описание компьютера?
- 4. Как получить описание C# Enum из значения?
- 5. Как получить описание ошибки в unix
- 6. C# - Получить LastWriteTime потомков папки
- 7. Как получить/установить тип папки в C#
- 8. Упрощенный способ получить описание сборки в C#?
- 9. Как получить описание тестового примера?
- 10. Как получить описание продукта (имя)?
- 11. Как получить название/описание видеоролика?
- 12. Как получить имя/описание исключения?
- 13. Невозможно добавить описание в папки OneDrive
- 14. Как получить код ошибки и описание процесса
- 15. Получить описание услуги?
- 16. Magento получить описание купона
- 17. Как получить описание исключения Java в C++ при использовании JNI?
- 18. Как программно получить описание версии SVN и автора в C#?
- 19. C# control.find описание
- 20. C - описание и переписывание
- 21. Описание функции cin.width C++
- 22. C++ Код Описание вывода
- 23. Описание примера рекурсии C++
- 24. C описание расширения макроса
- 25. Как получить идентификаторы папки
- 26. Как получить местоположение папки?
- 27. Как получить размер папки?
- 28. Как показать описание объекта-c в xcode
- 29. freebase - получить описание человека
- 30. Получить описание от ExceptionCode
Спасибо. Это отлично работает. Я забыл 'FILE_ATTRIBUTE_DIRECTORY'. – YoYoYonnY