ExpandEnvironmentStrings
Die Funktion ExpandEnvironmentStrings liefert den Inhalt von Umgebungsvariablen zurück.
<<syntaxhighlight lang="vb">>Declare Function ExpandEnvironmentStrings Lib "kernel32.dll" _
Alias "ExpandEnvironmentStringsA" ( _ ByVal lpSrc As String, _ ByVal lpDst As String, _ ByVal nSize As Long) As Long</<syntaxhighlight lang="vb">>
Parameter
lpSrc
- Dieser Parameter enthält die Umgebungsvariable, dessen Inhalt zurückgegeben werden soll.
lpDst
- Dieser Parameter enthält den Inhalt der Umgebungsvariable nach dem Aufruf der Funktion.
nSize
- Dieser Parameter gibt die Größe von lpDst an.
Rückgabe(n)
Diese Funktion liefert die Anzahl der Zeichen zurück, die nach lpDst geschrieben wurden oder, falls lpDst nicht ausreichend groß dimensioniert war, geschrieben werden müssen.
Beispiel
<<syntaxhighlight lang="vb">>Public Function ExpandEnvironmentString(ByVal strEnv As String) As String
Dim strBuffer As String Dim lngBufSize As Long ' Größe des benötigten Speichers ermitteln strBuffer = <syntaxhighlight lang="vb">NullString lngBufSize = Len(strBuffer) lngBufSize = ExpandEnvironmentStrings(strEnv, Byval 0&, lngBufSize) ' entsprechend großen Speicher bereitstellen strBuffer = Space$(lngBufSize + Len(<syntaxhighlight lang="vb">NullChar)) lngBufSize = Len(strBuffer) ' Daten holen lngBufSize = ExpandEnvironmentStrings(strEnv, strBuffer, lngBufSize) ' NullChar wegschneiden lngBufSize = InStr(1&, strBuffer, <syntaxhighlight lang="vb">NullChar) If lngBufSize <> 0& Then strBuffer = Left$(strBuffer, lngBufSize - 1&) End If ' Fertig ExpandEnvironmentString = strBuffer
End Function
Public Sub Main
Debug.Print ExpandEnvironmentString("%windir%\system32")
End Sub</<syntaxhighlight lang="vb">>
Hinweise
Die Umgebungsvariable muß in Prozentzeichen verpackt werden. Wie im Beispiel zu sehen ist, kann lpSrc beliebigen Text enthalten, die Funktion sorgt dafür, daß die Umgebungsvariable nur durch ihren Inhalt ersetzt wird, der Rest bleibt erhalten.
Betriebsystem
Die Funktion ist unter folgenden Betriebssystemen funktionsfähig:
- Windows NT 3.1 und neuer
- Windows 95 und neuer
Quelle(n)