dotSITE
Учебник по C# Шаблоны проектирования Work in Murano Software.
новости материалы решения форумы группы настройки/о проекте

Автор: Stas6
Тема: C# и SHGetFileInfo
Дата: 7/15/2004 3:49:00 PM
Надо определить описание файла по его расширению (для txt - текстовый файл и т.д.)
public const uint SHGFI_TYPENAME = 0x000000400;
public const uint SHGFI_USEFILEATTRIBUTES = 0x000000010; // ну и остальные

[StructLayout(LayoutKind.Sequential)]
public struct SHFILEINFO
{
   public const int NAMESIZE = 80;
   public IntPtr hIcon;
   public int iIcon;
   public uint dwAttributes;
   [MarshalAs(UnmanagedType.ByValTStr, SizeConst = MAX_PATH)]
   public string szDisplayName;
   [MarshalAs(UnmanagedType.ByValTStr, SizeConst = NAMESIZE)]
   public string szTypeName;
}

[DllImport("Shell32.dll")]
public static extern IntPtr SHGetFileInfo(
         string pszPath,
         uint dwFileAttributes,
         ref SHFILEINFO psfi,
         uint cbFileInfo,
         uint uFlags);
вызываю
SHGetFileInfo("*.txt", FILE_ATTRIBUTE_NORMAL, ref shfi, (uint)Marshal.SizeOf(shfi), SHGFI_TYPENAME | SHGFI_USEFILEATTRIBUTES);

проблема в том что в зависимости от параметров получить можно всю структуру SHFILEINFO (и иконки, и имя и атрибуты), но вот именно szFileType постоянно пустая строка





 C# -- Программирование на C#
 C# и SHGetFileInfo Stas6    7/15/2004 3:49:00 PM
 RE: C# и SHGetFileInfo Федосов Михаил    7/15/2004 5:37:00 PM
 RE[2]: C# и SHGetFileInfo Stas6 -    7/15/2004 6:06:00 PM
 RE[3]: C# и SHGetFileInfo Stas6 -    7/15/2004 6:21:00 PM
 RE[4]: C# и SHGetFileInfo Федосов Михаил    7/15/2004 6:34:00 PM


Контакт Реклама на сайте Спонсорам Веб мастерам

Лицензионное соглашение - © 2000-2012 dotSITE
Хостинг .NET предоставлен PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development