Rubrik: Dateisystem | 15.03.02 |
![]() Diese Funktion liest einen String-Wert aus der Win.ini Datei. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 11.600 |
Deklaration:
Declare Function GetProfileString Lib "kernel32.dll" _ Alias "GetProfileStringA" ( _ ByVal lpAppName As String, _ ByVal lpKeyName As String, _ ByVal lpDefault As String, _ ByVal lpReturnedString As String, _ ByVal nSize As Long) As Long
Beschreibung:
Diese Funktion liest einen String-Wert aus der Win.ini Datei.
Parameter:
lpAppName | Erwartet den Namen der Applikation, die einen Eintrag in der Win.ini enthält der gelesen werden soll. |
lpKeyName | Erwartet den Namen eines Keys, der denWert enthält der gelesen werden soll. |
lpDefault | Erwartet einen String derzurückgegeben wird, wenn der gesuchte Eintrag nicht gefunden werden kann. |
lpReturnedString | Erwartet einen Puffer, der mit genügend Leerstellen gefüllt ist um den gefundenen String der Win.ini zu empfangen. |
nSize | Erwartet die Größe des Puffers in Bytes. |
Rückgabewert:
Ist die Funktion erfolgreich, so liefert sie die Länge des gefunden Strings abzüglich des "VBNullChar"-Zeichens, andernfalls ist "0" dieRückgabe.
Beispiel:
Private Declare Function GetProfileInt Lib "kernel32.dll" _ Alias "GetProfileIntA" ( _ ByVal lpAppName As String, _ ByVal lpKeyName As String, _ ByVal nDefault As Long) As Long Private Declare Function GetProfileString Lib "kernel32.dll" _ Alias "GetProfileStringA" ( _ ByVal lpAppName As String, _ ByVal lpKeyName As String, _ ByVal lpDefault As String, _ ByVal lpReturnedString As String, _ ByVal nSize As Long) As Long Private Declare Function WriteProfileString Lib "kernel32.dll" _ Alias "WriteProfileStringA" ( _ ByVal lpszSection As String, _ ByVal lpszKeyName As String, _ ByVal lpszString As String) As Long
Private Sub Command1_Click() Dim Retval As Long Dim TmpWP As String, TmpTile As String, TmpDesc As String ' Hintergrundbild ermitteln und VbNullChar abtrennen TmpWP = Space(256) Retval = GetProfileString("Desktop", "Wallpaper", "Kein", TmpWP, Len(TmpWP)) TmpWP = Left$(TmpWP, Retval) ' Art der Anzeige des Hintergrundbildes ermitteln Select Case GetProfileInt("Desktop", "TileWallpaper", 2) Case 1 TmpTile = "auf der Fläche" Case 0 TmpTile = "Mittig" Case Else TmpTile = "auf eine Unbekannte weise" End Select ' Ergebnis ausgeben und Frage zum Eintragen einer Bemerkung stellen MsgBox "Das Hintergundbild " & TmpWP & " wird " & TmpTile & " angeziegt" Retval = MsgBox("Wollen Sie eine Bemerkung in die Win.ini eintragen", _ vbQuestion + vbYesNo, "Bemerkung eintragen") ' entweder Bemerkung eintragen oder löschen If Retval = vbYes Then TmpDesc = InputBox("Bemerkung eingeben", "Bemerkung", "Bitte hier _ Bemerkung eingeben") ' wird eine leere Zeichenfolge oder nichts eingegeben so wird die ' Bemerkung gelöscht If TmpDesc = "" Or TmpDesc = "Bitte Bemerkung eingeben" Then WriteProfileString "Desktop", "Bemerkung", vbNullString Else WriteProfileString "Desktop", "Bemerkung", TmpDesc End If End If End Sub