Ermitteln der Beschreibung des Dateityps einer Datei
Ermitteln der Beschreibung des Dateityps einer Datei <URL:http://dotnet.mvps.org/dotnet/faqs/?id=getfiledescription&lang=de> ---------------------------------------------------------------------------- Determining the description of a file's file type The Windows Explorer displays a short description of a file's file type when selecting it. This information can be obtained by a call to 'SHGetFileInfo'. The structure 'SHFILEINFO' needs to have byte-aligned members, so we need to specify 'Pack:=1' in its attributes. 'GetFileDescription' encapsulates the p/invoke call into an easy-to-use method: \\\ Imports System.Runtime.InteropServices . . . Private Declare Auto Function SHGetFileInfo Lib "shell32.dll" ( _ ByVal pszPath As String, _ ByVal dwFileAttributes As Int32, _ ByRef psfi As SHFILEINFO, _ ByVal cbFileInfo As Int32, _ ByVal uFlags As Int32 _ ) As IntPtr <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto, Pack:=1)> _ Private Structure SHFILEINFO Private Const MAX_PATH As Int32 = 260 Public hIcon As IntPtr Public iIcon As Int32 Public dwAttributes As Int32 <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=MAX_PATH)> _ Public szDisplayName As String <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=80)> _ Public szTypeName As String End Structure Private Const SHGFI_TYPENAME As Int32 = &H400 Private Function GetFileDescription(ByVal FileName As String) As String Dim shfi As SHFILEINFO SHGetFileInfo(FileName, 0, shfi, Marshal.SizeOf(shfi), SHGFI_TYPENAME) Return shfi.szTypeName End Function /// Usage: \\\ MsgBox(GetFileDescription("C:\WINDOWS\WIN.INI")) ///