ExpandEnvironmentStrings

Aus API-Wiki
Zur Navigation springenZur Suche springen

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)