ExpandEnvironmentStrings: Unterschied zwischen den Versionen

Aus API-Wiki
Wechseln zu: Navigation, Suche
K (vb)
Zeile 2: Zeile 2:
 
Die Funktion ExpandEnvironmentStrings liefert den Inhalt von Umgebungsvariablen zurück.
 
Die Funktion ExpandEnvironmentStrings liefert den Inhalt von Umgebungsvariablen zurück.
  
<vb>Declare Function ExpandEnvironmentStrings Lib "kernel32.dll" _
+
<<syntaxhighlight lang="vb">>Declare Function ExpandEnvironmentStrings Lib "kernel32.dll" _
 
                 Alias "ExpandEnvironmentStringsA" ( _
 
                 Alias "ExpandEnvironmentStringsA" ( _
 
                 ByVal lpSrc As String, _
 
                 ByVal lpSrc As String, _
 
                 ByVal lpDst As String, _
 
                 ByVal lpDst As String, _
                 ByVal nSize As Long) As Long</vb>
+
                 ByVal nSize As Long) As Long</<syntaxhighlight lang="vb">>
  
  
Zeile 26: Zeile 26:
 
==Beispiel==
 
==Beispiel==
  
<vb>Public Function ExpandEnvironmentString(ByVal strEnv As String) As String
+
<<syntaxhighlight lang="vb">>Public Function ExpandEnvironmentString(ByVal strEnv As String) As String
 
     Dim strBuffer As String
 
     Dim strBuffer As String
 
     Dim lngBufSize As Long
 
     Dim lngBufSize As Long
 
      
 
      
 
     '  Größe des benötigten Speichers ermitteln
 
     '  Größe des benötigten Speichers ermitteln
     strBuffer = vbNullString
+
     strBuffer = <syntaxhighlight lang="vb">NullString
 
     lngBufSize = Len(strBuffer)
 
     lngBufSize = Len(strBuffer)
 
     lngBufSize = ExpandEnvironmentStrings(strEnv, Byval 0&, lngBufSize)
 
     lngBufSize = ExpandEnvironmentStrings(strEnv, Byval 0&, lngBufSize)
 
      
 
      
 
     '  entsprechend großen Speicher bereitstellen
 
     '  entsprechend großen Speicher bereitstellen
     strBuffer = Space$(lngBufSize + Len(vbNullChar))
+
     strBuffer = Space$(lngBufSize + Len(<syntaxhighlight lang="vb">NullChar))
 
     lngBufSize = Len(strBuffer)
 
     lngBufSize = Len(strBuffer)
 
      
 
      
Zeile 43: Zeile 43:
 
      
 
      
 
     '  NullChar wegschneiden
 
     '  NullChar wegschneiden
     lngBufSize = InStr(1&, strBuffer, vbNullChar)
+
     lngBufSize = InStr(1&, strBuffer, <syntaxhighlight lang="vb">NullChar)
 
     If lngBufSize <> 0& Then
 
     If lngBufSize <> 0& Then
 
         strBuffer = Left$(strBuffer, lngBufSize - 1&)
 
         strBuffer = Left$(strBuffer, lngBufSize - 1&)
Zeile 54: Zeile 54:
 
Public Sub Main
 
Public Sub Main
 
     Debug.Print ExpandEnvironmentString("%windir%\system32")
 
     Debug.Print ExpandEnvironmentString("%windir%\system32")
End Sub</vb>
+
End Sub</<syntaxhighlight lang="vb">>
  
 
==Hinweise==
 
==Hinweise==
Zeile 77: Zeile 77:
 
*ActiveVB Tipp 123: (Auf jeden Fall mit Link) <br>
 
*ActiveVB Tipp 123: (Auf jeden Fall mit Link) <br>
 
*Microsoft Knowledge-Base KB123456 (Wenn möglich mit Link)  <br>
 
*Microsoft Knowledge-Base KB123456 (Wenn möglich mit Link)  <br>
*[http://www.activevb.de/niaslheMSDN KB123456 - How to use the Mouse]               
+
*[http://www.active<syntaxhighlight lang="vb">.de/niaslheMSDN KB123456 - How to use the Mouse]               
 
*Allapi.net Tipp xxx
 
*Allapi.net Tipp xxx
  

Version vom 5. November 2016, 22:10 Uhr

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)