Rubrik: Dateisystem · Dateien allgemein | VB-Versionen: VB4, VB5, VB6 | 04.12.01 |
Dateierweiterung einer Datei im Klartext Mit nachfolgender Funktion lässt sich die "offizielle" Beschreibung eines registrierten Dateityps ermitteln. | ||
Autor: Dieter Otter | Bewertung: | Views: 15.029 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Was ist eine .DLL Datei? Eine Programmbibliothek.
Was ist eine .EXE Datei? Eine Anwendung
Was ist eine .VBP Datei? Eine Visual Basic Projekt Datei
...zumindest sagt uns das das Betriebssystem (oder auch der Windows Explorer)...
Hierbei handelt es sich um die "offizielle" in der Registry eingetragene Beschreibung für im System registrierte Dateitypen bzw. Dateierweiterungen.
Mit nachfolgender Funktion lässt sich die Datei-Beschreibung einer existierenden Datei auch unter Visual Basic ermitteln - natürlich wieder unter Zuhilfenahme des Windows-API, genauer gesagt der SHGetFileInfo-Funktion:
' zunächst die benötigten API-Deklarationen Private Declare Function SHGetFileInfo Lib "shell32.dll" _ Alias "SHGetFileInfoA" ( _ ByVal pszPath As String, _ ByVal dwFileAttributes As Long, _ psfi As SHFILEINFO, _ ByVal cbFileInfo As Long, _ ByVal uFlags As Long) As Long Private Const MAX_PATH = 260 Private Const SHGFI_TYPENAME = &H400& Private Type SHFILEINFO hIcon As Long iIcon As Long dwAttributes As Long szDisplayName As String * MAX_PATH szTypeName As String * 80 End Type
' Dateibeschreibung einer existierenden ' Datei ermitteln Public Function GetFileInfoDescr(ByVal sFilename As _ String) As String Dim SHInfo As SHFILEINFO Dim lPos As Long ' Beschreibung zur Dateierweiterung ermitteln SHGetFileInfo sFilename, 0, SHInfo, Len(SHInfo), _ SHGFI_TYPENAME ' Null-Zeichen suchen lPos = InStr(SHInfo.szTypeName, Chr$(0)) If lPos > 0 Then GetFileInfoDescr = Left(SHInfo.szTypeName, lPos - 1) End If End Function
Sie übergeben der Funktion GetFileInfoDescr den Dateinamen einer existierenden Datei (inkl. Pfadangabe) und erhalten zurück - die im System gespeicherte "offizielle" Dateibeschreibung.