HOWTO: Get a Short Filename from a Long Filename
ID: Q175512
|
The information in this article applies to:
-
Microsoft Visual Basic Control Creation, Learning, Professional, and Enterprise Editions for Windows, version 5.0
-
Microsoft Visual Basic Standard, Professional, and Enterprise Editions, 32-bit only, for Windows, version 4.0
-
Microsoft Visual Basic Learning, Professional, and Enterprise Editions for Windows, version 6.0
SUMMARY
Under certain circumstances, it may be necessary to get the Short Filename
equivalent of a file that has a Long Filename. The example below will allow
you to select a file that has a Long Filename and return it's Short
Filename using the GetShortPathName API Function call.
MORE INFORMATION
The following code example includes a function that will convert long
filenames into their short filename equivalents and also includes a simple
demonstration of the function's use.
Step-by-Step Example
- Create a new Standard EXE project in Visual Basic. Form1 is created by
default.
- Place a CommandButton on Form1.
- Place a Common Dialog control on the form.
- From the Insert menu, select Module to add a single code module to
the project.
- Add the following code to Module1:
Declare Function GetShortPathName Lib "kernel32" _
Alias "GetShortPathNameA" (ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
Public Function GetShortName(ByVal sLongFileName As String) As String
Dim lRetVal As Long, sShortPathName As String, iLen As Integer
'Set up buffer area for API function call return
sShortPathName = Space(255)
iLen = Len(sShortPathName)
'Call the function
lRetVal = GetShortPathName(sLongFileName, sShortPathName, iLen)
'Strip away unwanted characters.
GetShortName = Left(sShortPathName, lRetVal)
End Function
- Add the following code to Form1:
Private Sub Command1_Click()
Dim msg As String
CommonDialog1.FileName = "*.*"
CommonDialog1.ShowOpen
msg = "Long File Name: " & CommonDialog1.filename & vbCrLf
msg = msg & "Short File Name: " & GetShortName(CommonDialog1.filename)
MsgBox msg
End Sub
- Run the project by pressing the F5 key. Click on the Command button to
show the Open dialog box. Navigate the Open dialog box and find a file
that has a Long Filename. Select the file and click OK.
- The message box will display the Long File name along with its Short
File name.
REFERENCES
For additional information, please see the following article in the
Microsoft Knowledge Base:
Q154822
HOWTO: Get a Long Filename from a Short Filename
Additional query words:
Keywords : kbdocfix kbnokeyword kbVBp400 kbVBp500 kbVBp600 PrgOther
Version : WINDOWS:4.0,5.0,6.0
Platform : WINDOWS
Issue type : kbhowto
|