如何获取系统的临时目录路径?

发表于:2007-06-30来源:作者:点击数: 标签:
GetTempPath取得的是一个DOS名称,当文件名长度大于8时,长文件名格式“C:\Documents and Settings\Administrator\Local Settings\Temp”会显示成“C:\DOCUME~1\AD MI NI~1\LOCALS~1\Temp”的短文件名格式,如何根据自己需要取得系统临时目录的途径,下面是一
GetTempPath取得的是一个DOS名称,当文件名长度大于8时,长文件名格式“C:\Documents and Settings\Administrator\Local Settings\Temp”会显示成“C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp”的短文件名格式,如何根据自己需要取得系统临时目录的途径,下面是一个新写的函数,调用两个API 实现,相信许多朋友可能用得到。

Option Explicit
Private Declare Function GetLongPathName Lib "kernel32" Alias "GetLongPathNameA" (ByVal lpszShortPath As String, ByVal lpszLongPath As String, ByVal clearcase/" target="_blank" >cchBuffer As Long) As Long
Private 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



原文转自:http://www.ltesting.net