Attribute VB_Name = "ModGetTempFile"
Option Explicit
'*************************************************************************
'**模 块 名：ModGetTempFile
'**说    明：返回一个临时文件名
'**创 建 人：嗷嗷叫的老马
'**日    期：2003年10月26日
'**修 改 人：嗷嗷叫的老马
'**日    期：2010年10月26日
'**描    述：以前搞错了.....一直以为只是返回个文件名而已,汗,原来它会自动创建-_-b
'**版    本：V2.0
'*************************************************************************

Private Declare Function GetTempFileName Lib "kernel32.dll" Alias "GetTempFileNameA" ( _
     ByVal lpszPath As String, _
     ByVal lpPrefixString As String, _
     ByVal wUnique As Long, _
     ByVal lpTempFileName As String) As Long
Private Declare Function GetTempPath Lib "kernel32.dll" Alias "GetTempPathA" ( _
     ByVal nBufferLength As Long, _
     ByVal lpBuffer As String) As Long
Private Const MAX_PATH = 260

Public Function GetTempFilePath(FileName3 As String) As String
    '根据输入的文件名前三位,创建一个可用的临时文件,并返回文件名
    Dim tmpStr As String * MAX_PATH
    Dim tPath As String, tFileName As String
    Dim lRet As Long
    
    lRet = GetTempPath(Len(tmpStr), tmpStr)
    If lRet = 0 Then Exit Function
    
    tPath = Mid(tmpStr, 1, lRet - 1)
    
    lRet = GetTempFileName(tPath, FileName3, 0, tmpStr)
    lRet = InStr(1, tmpStr, Chr(0), vbTextCompare)
    tFileName = Mid(tmpStr, 1, lRet)
    
    GetTempFilePath = tPath & tFileName
End Function
