Rubrik: Dateisystem · Dateien allgemein | VB-Versionen: VB4, VB5, VB6 | 31.03.01 |
Ermitteln des kurzen Dateinamens einer Datei Dieser Tipp verrät, wie man aus dem langen Dateinamen den entsprechenden kurzen DOS-Dateinamen ermittelt. | ||
Autor: Dieter Otter | Bewertung: | Views: 15.491 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Seit Windows 95 gibt es sie - die langen Dateinamen. Diese lassen sich jedoch immer noch mit ihrem kurzen Dateinamen (8.3) "ansprechen". Die Windows-API GetShortPathName übernimmt hierbei die automatische Umwandlung.
' zunächst die benötigten API-Deklarationen Private Declare Function GetShortPathName Lib "kernel32" _ Alias "GetShortPathNameA" ( _ ByVal lpszLongPath As String, _ ByVal lpszShortPath As String, _ ByVal cchBuffer As Long) As Long ' Ermittelt den kurzen Dateinamen Public Function GetShortName(ByVal longName As String) _ As String Dim ShortName As String Dim sLen As Long ShortName = Space$(256) sLen = GetShortPathName(longName, ShortName, Len(ShortName)) ShortName = Left$(ShortName, sLen) GetShortName = ShortName End Function
Beispiel:
' Langer Dateiname longName = "c:\Eigene Dateien\VB\MeinProjekt.vbp" shortName = GetShortName(longName) ' --> c:\eigene~1\vb\meinpr~1.vbp"