Autor Thema: Dateityp als Klartext ermitteln  (Gelesen 2400 mal)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Dateityp als Klartext ermitteln
« am: 17.02.02 - 16:19:59 »
Mit der folgenden Funktion lassen sich aus einem Verzeichnis die Dateien ermitteln, die einem bestimmten Dateityp entsprechen.
Die Detailansicht des Explorer macht es vor:
Zu den meisten Dateien wird in der Spalte Typ eine Beschreibung angezeigt.
Mit dem folgenden Code läßt sich diese Beschreibung abfragen:

Der Code:
( http://www.eknori.de/downloads/FileInfo.zip )

im Deklarationsteil:

Const SHGFI_TYPENAME = &H400&

Private Type SHFILEINFO
    hIcon As Long
    iIcon As Long
    dwAttributes As Long
    szDisplayName As String * 260
    szTypeName As String * 80
End Type

Private Declare Function SHGetFileInfo Lib "Shell32" Alias _
    "SHGetFileInfoA" (ByVal pszPath As Any, _
    ByVal dwFileAttributes As Long, _
    psfi As SHFILEINFO, _
    ByVal cbFileInfo As Long, _
    ByVal uFlags As Long) As Long

die Funktion:

Private Function GibTypName(DateiPfad as String) as String
    Dim tt As Long
    Dim SHInf As SHFILEINFO

    tt = SHGetFileInfo(DateiPfad, 0, SHInf, Len(SHInf), SHGFI_TYPENAME)
    If tt = 1 Then
        GibTypName = Left(SHInf.szTypeName, InStr(1, SHInf.szTypeName, Chr$(0)) - 1)
        If GibTypName = "" Then GibTypName = "keinem Dateityp zugeordnet"
    Else
        GibTypName = "Datei existiert nicht"
End Function

Aufruf:    Fname = GibTypName("Hier den Pfad und Dateinamen eintragen")
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz