Tipp 7.1 - WIN.INI Wert ermitteln

Wie kann ich einen Wert aus der WIN.INI ermitteln?

Mit dieser Funktion können Sie einen Wert aus der WIN.INI ermitteln. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.

Api-AufrufeVerwendete Win32-Api-Aufrufe und Typen: GetProfileString

Beispiel:

Option Explicit
Public Declare Function GetProfileString _
    Lib "kernel32" Alias _
    "GetProfileStringA" _
    (ByVal lpAppName As String, _
    ByVal lpKeyName As String, _
    ByVal lpDefault As String, _
    ByVal lpReturnedString As String, _
    ByVal nSize As Long) As Long
 
Public Function ReadWIniSetting(sSection As String, _
                                sKey As String) As String
  '// -----------------------------------------------------
  '// Methode:   | Gibt einen Wert aus der WIN.INI zurück
  '// -----------------------------------------------------
  '// Parameter: | sSection = Sektionsname [...]
  '//            | sKey = Schlüsselname
  '// -----------------------------------------------------
  '// Rückgabe:  | Wert, sofern vorhanden
  '// -----------------------------------------------------
  '// Autor:     | Stefan Kulpa
  '//            | EDV Innovation & Consulting - Dormagen
  '// -----------------------------------------------------
  '// Beispiel:  | ?ReadWIniSetting( _
  '//               "Microsoft System Info", "MSINFO")
  '// -----------------------------------------------------
  Const MAX_LEN   As Long = 1024
  Dim sBuffer     As String
 
  sBuffer = VBA.String(MAX_LEN, 0)
  If GetProfileString(sSection, _
      sKey, _
      vbNullString, _
      sBuffer, _
      Len(sBuffer)) Then
    ReadWIniSetting = _
        VBA.Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
  End If
 
End Function