Obtener el nombre corto (MS-DOS) a partir del nombre largo de un fichero. 


La API de 32 bits GetShortPathName obtiene el nombre corto de un fichero (formato 8.3) a partir de su nombre largo. Haga la prueba con el siguiente ejemplo:


1º Cree un nuevo proyecto en Visual Basic. Por defecto, se crea el formulario Form1. 

2º Añada un botón tipo Command al Form1. Por defecto, el botón tiene el nombre Command1. 

3º Añada el siguiente código al evento Click del Command1: 

Private Sub Command1_Click()
Dim sNombreCorto As String * 255 
GetShortPathName "C:\Archivos de programa\Accesorios\Wordpad.exe", sNombreCorto, 255
MsgBox sNombreCorto
End Sub 

4º Añada el siguiente código en la sección Declaraciones del Form1: 

Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long