The current beta version I am working on will contains the following code:
Function LocateSystemTemp As String
' Christian Brandlehner, http://chris.brandlehner.at
' extended by Matthias TMC atnotes@gmx.de
Dim session As New NotesSession<br/>
Dim szNotesDataPath As String<br/>
Dim szExistsPath As String <br/>
Dim szTempPath As String<br/>
Dim xTemp As Variant<br/>
<br/>
' read Temp environment<br/>
szTempPath=Environ$("Temp")<br/>
' read Tmp if Temp does not exist<br/>
If szTempPath="" Then<br/>
szTempPath=Environ$("Tmp")<br/>
End If<br/>
If szTempPath="" Then<br/>
' read Registry<br/>
Const TEMPNotesMacro = |@If(@Contains(@RegQueryValue("HKEY_LOCAL_MACHINE"; "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment"; "TEMP");"%SystemRoot%");@ReplaceSubstring(@RegQueryValue("HKEY_LOCAL_MACHINE"; "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment"; "TEMP");"%SystemRoot%";@RegQueryValue("HKEY_LOCAL_MACHINE"; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"; "SystemRoot"));@RegQueryValue("HKEY_LOCAL_MACHINE"; "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment"; "TEMP"))|<br/>
xTemp = Evaluate(TEMPNotesMacro)<br/>
szTempPath = xTemp(0)<br/>
End If<br/>
'Worst Case: Temp, Tmp and Registry is not available, therefore
'we use the Notes Data Directory: If there is no 'Temp'-Directory, it will be created.
If szTempPath="" Then<br/>
szNotesDataPath = session.GetEnvironmentString("Directory",True)<br/>
szExistsPath = szNotesDataPath & "\Temp"<br/>
If Dir$(szExistsPath,16) = "" Then<br/>
Mkdir szNotesDataPath & "\Temp"<br/>
szTempPath = szNotesDataPath & "\Temp"<br/>
Else<br/>
szTempPath = szNotesDataPath & "\Temp"<br/>
End If<br/>
End If<br/>
LocateSystemTemp = szTempPath<br/>
End Function