GetTempPath取得的是一个DOS名称,当文件名长度大于8时,长文件名格式“C:/Documents and Settings/Administrator/Local Settings/Temp”会显示成“C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp”的短文件名格式,如何根据自己需要取得系统临时目录的途径,下面是一个新写的函数,调用两个API 实现,相信许多朋友可能用得到。
Option ExplicitPrivate Declare Function GetLongPathName Lib "kernel32" Alias "GetLongPathNameA" (ByVal lpszShortPath As String, ByVal lpszLongPath As String, ByVal cchBuffer As Long) As LongPrivate Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Sub GetTEMPfolder(Optional ByVal showlong As Boolean = True) Dim longname As String, shortname As String shortname = Space(256) GetTempPath Len(shortname), shortname longname = Space(1024) GetLongPathName shortname, longname, Len(longname)
MsgBox "Tempfolder : " & IIf(showlong = True, longname, shortname) End Sub
Private Sub Command1_Click() GetTEMPfolder '长文件名 GetTEMPfolder False '短文件名End Sub
获取系统临时目录长/短文件名函数
博客介绍了GetTempPath取得的是DOS名称,长文件名会显示成短文件名格式。给出一个新写的函数,通过调用两个API实现根据需求获取系统临时目录途径,还给出了相应代码示例及调用方式。
6万+

被折叠的 条评论
为什么被折叠?



