ExpandEnvironmentStrings
Die Funktion ExpandEnvironmentStrings liefert den Inhalt von Umgebungsvariablen zurück.
<vb>Declare Function ExpandEnvironmentStrings Lib "kernel32.dll" _
Alias "ExpandEnvironmentStringsA" ( _ ByVal lpSrc As String, _ ByVal lpDst As String, _ ByVal nSize As Long) As Long</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
<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 = vbNullString lngBufSize = Len(strBuffer) lngBufSize = ExpandEnvironmentStrings(strEnv, Byval 0&, lngBufSize) ' entsprechend großen Speicher bereitstellen strBuffer = Space$(lngBufSize + Len(vbNullChar)) lngBufSize = Len(strBuffer) ' Daten holen lngBufSize = ExpandEnvironmentStrings(strEnv, strBuffer, lngBufSize) ' NullChar wegschneiden lngBufSize = InStr(1&, strBuffer, vbNullChar) 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</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)