ExpandEnvironmentStrings
Aus API-Wiki
Version vom 5. November 2016, 23:47 Uhr von Jochen Wierum (Diskussion | Beiträge)
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.
Die Funktion ExpandEnvironmentStrings liefert den Inhalt von Umgebungsvariablen zurück.
Declare Function ExpandEnvironmentStrings Lib "kernel32.dll" _
Alias "ExpandEnvironmentStringsA" ( _
ByVal lpSrc As String, _
ByVal lpDst As String, _
ByVal nSize As Long) As Long
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
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
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)