ExpandEnvironmentStrings

Aus API-Wiki
Zur Navigation springenZur Suche springen

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)