1 Private Declare Auto Function GetShortPathName Lib "kernel32.dll" _
2 (ByVal strLongPath As String, ByVal objStringBuilder As System.Text.StringBuilder, _
3 ByVal intBufferSize As Integer) As Integer
4
5 Private Declare Auto Function GetLongPathName Lib "kernel32.dll" _
6 (ByVal strShortPath As String, ByVal objStringBuilder As System.Text.StringBuilder, _
7 ByVal intBufferSize As Integer) As Integer
8
9 Public Enum DirectoryPathLength
10 WindowsXP = 256
11 End Enum
12
13
14
15 Public Function GetShortPathName(ByVal strPath As String, Optional ByVal enumDirectoryPathLength As DirectoryPathLength = DirectoryPathLength.WindowsXP) As String
16
17 Dim strStringBuilder As New System.Text.StringBuilder(enumDirectoryPathLength)
18
19 Dim intNewStringLength As Integer
20
21 intNewStringLength = GetShortPathName(strPath, strStringBuilder, enumDirectoryPathLength)
22
23 Return strStringBuilder.ToString
24
25 End Function
26
27
28
29 Public Function GetLongPathName(ByVal strPath As String, Optional ByVal enumDirectoryPathLength As DirectoryPathLength = DirectoryPathLength.WindowsXP) As String
30
31 Dim strStringBuilder As New System.Text.StringBuilder(enumDirectoryPathLength)
32
33 Dim intNewStringLength As Integer
34
35 intNewStringLength = GetLongPathName(strPath, strStringBuilder, enumDirectoryPathLength)
36
37 Return strStringBuilder.ToString
38
39 End Function