明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

如何取得系統(tǒng)的臨時(shí)目錄路徑?

[摘要]GetTempPath取得的是一個(gè)DOS名稱(chēng),當(dāng)文件名長(zhǎng)度大于8時(shí),長(zhǎng)文件名格式“C:\Documents and Settings\Administrator\Local Settings\Temp”會(huì)顯示成“C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp”的短文件名格式,...
GetTempPath取得的是一個(gè)DOS名稱(chēng),當(dāng)文件名長(zhǎng)度大于8時(shí),長(zhǎng)文件名格式“C:\Documents and Settings\Administrator\Local Settings\Temp”會(huì)顯示成“C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp”的短文件名格式,如何根據(jù)自己需要取得系統(tǒng)臨時(shí)目錄的途徑,下面是一個(gè)新寫(xiě)的函數(shù),調(diào)用兩個(gè)API 實(shí)現(xiàn),相信許多朋友可能用得到。

Option Explicit
Private Declare Function GetLongPathName Lib "kernel32" Alias "GetLongPathNameA" (ByVal lpszShortPath As String, ByVal lpszLongPath As String, ByVal 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 '長(zhǎng)文件名
GetTEMPfolder False '短文件名
End Sub