Tipp 4.10 - Systemvariable TEMP ändern
Wie kann ich die Systemvariable TEMP verändern?
Mit dieser Funktion können Sie die Systemvariable TEMP verändern. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.
Verwendete Win32-Api-Aufrufe und Typen: SetEnvironmentVariable, GetEnvironmentVariable
Beispiel:
Option Explicit Private Declare Function SetEnvironmentVariable _ Lib "kernel32" Alias _ "SetEnvironmentVariableA" _ (ByVal lpName As String, _ ByVal lpValue As String) As Long Private Declare Function GetEnvironmentVariable _ Lib "kernel32" Alias _ "GetEnvironmentVariableA" _ (ByVal lpName As String, _ ByVal lpBuffer As String, _ ByVal nSize As Long) As Long Dim m_SavePath As String ' Form oder App.-globale Variable Sub ChanceTempPath() '// ----------------------------------------------------- '// Funktion: | Beispiel um die Systemvariable TEMP '// | zu ändern und wiederherzustellen. '// ----------------------------------------------------- '// Autor: | Stefan Kulpa '// | EDV Innovation & Consulting - Dormagen '// ----------------------------------------------------- Dim sBuffer As String Dim lResult As String Dim lLength As Long '// Pfad zum Temp-Verzeichnis ermitteln sBuffer = String(256, 0) lLength = GetEnvironmentVariable("TEMP", _ sBuffer, Len(sBuffer)) If lLength > 0 Then m_SavePath = Left$(sBuffer, InStr(sBuffer, _ vbNullChar) - 1) End If MsgBox "Alter Temp-Pfad: " & m_SavePath '// Pfad zum Temp-Verzeichnis neu setzen lResult = SetEnvironmentVariable("TEMP", "E:\Temp") '// Testen sBuffer = String(256, 0) lLength = GetEnvironmentVariable("TEMP", _ sBuffer, Len(sBuffer)) If lLength > 0 Then MsgBox "Neuer Temp-Pfad: " & _ Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1) End If '// Und wieder zurücksetzen lResult = SetEnvironmentVariable("TEMP", m_SavePath) End Sub