Ciao CaptainHook8,
posto un esempio, reperito tempo fa in rete, per la creazione e la successiva distruzione di un file temporaneo nel percorso: C:\Documents and Settings\NomeComputer\Impostazioni locali\Temp\T&T...
Evidenzio che per il SO WinXP funziona egregiamente:
codice:
Option Explicit
'Restituisce la lunghezza (in caratteri) del percorso della cartella temporanea di
'sistema posta all'interno della variabile stringa lpBuffer
'(stringa null-terminated). lpBuffer dovrà essere pre-inizializzata ed in
'nBufferLenght dovremo indicare la sua lunghezza:
Private Declare Function GetTempPath Lib "kernel32" _
Alias "GetTempPathA" (ByVal nBufferLength As Long, _
ByVal lpBuffer As String) As Long
'Restituisce un numero Long che indica l'esito dell'operazione di creazione del
'file temporaneo (0 se si è verificato un errore). lpszPath è la posizione in
'cui verrà creato il file temporaneo, lpPrefixString contiene un prefisso che
'verrà utilizzato nel nome casuale da generare, wUnique è un numero (univoco)
'utilizzato per la costruzione del nome del
'file (se wUnique=0 allora la creazione del numero univoco sarà basata sul timer
'di sistema). NB: le stringhe lpszPath e lpPrefixString NON POSSONO essere vuote.
Private Declare Function GetTempFileName Lib "kernel32" _
Alias "GetTempFileNameA" (ByVal lpszPath As String, _
ByVal lpPrefixString As String, ByVal wUnique As Long, _
ByVal lpTempFileName As String) As Long
'-------------------------------------------------------------------
Private Function CreaFileTemporaneo(sPrefix As String) As String
Dim nRes As Long, sTmpPath As String, sNomeTemp As String
Dim iStrPathLen As Integer
iStrPathLen = 512
' sTmpPath viene è inizializzata a 512 caratteri
sTmpPath = Space$(iStrPathLen)
' sNomeTemp viene è inizializzata a 576 caratteri
sNomeTemp = Space$(iStrPathLen + 4)
nRes = GetTempPath(iStrPathLen, sTmpPath)
If (nRes > 0 And nRes < iStrPathLen) Then
nRes = GetTempFileName(sTmpPath, sPrefix, 0, sNomeTemp)
If nRes <> 0 Then
CreaFileTemporaneo = Left$(sNomeTemp, _
InStr(sNomeTemp, vbNullChar) - 1)
End If
End If
End Function
'-------------------------------------------------------------------
Private Sub Command1_Click()
Dim sTempFile As String
Dim sMsg As String
Dim hFile As Long
sTempFile = CreaFileTemporaneo("T&T")
hFile = FreeFile
' Creo il file temporaneo...
Open sTempFile For Binary As hFile
Put #hFile, , "Contenuto del file temporaneo."
Close hFile
sMsg = "Nome file temporaneo: " & sTempFile & vbCrLf
sMsg = sMsg & "Lunghezza file: " & FileLen(sTempFile) & vbCrLf
sMsg = sMsg & "Creato alle: " & Format$(FileDateTime(sTempFile), _
"long time") & vbCrLf
MsgBox sMsg, vbInformation, "File Temporaneo creato"
' Elimino il file temporaneo...
Kill sTempFile
End Sub
Spero che sia utile..