Rubrik: Dateisystem | 15.03.02 |
WriteProfileString-Funktion Diese Funktion schreibt oder löscht einen Eintrag in der Win.ini Datei. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 10.582 |
Deklaration:
Declare Function WriteProfileString Lib "kernel32.dll" _ Alias "WriteProfileStringA" ( _ ByVal lpszSection As String, _ ByVal lpszKeyName As String, _ ByVal lpszString As String) As Long
Beschreibung:
Diese Funktion schreibt oder löscht einen Eintrag in der Win.ini Datei.
Parameter:
lpszSection | Erwartet den Namen der Sektion, inder der Eintrag erstellt wird. Ist diese Sektion noch nicht vorhanden wird sieerstellt. Übergibt man hier ein "VBNullString"-Zeichen werden alle Sektionen gelöscht. |
lpszKeyName | Erwartet den Namen desKey' s, dessen Wert in der angegebenen Sektion geschrieben werden soll. Ist dieser Key noch nicht vorhanden wirder erstellt. Übergibt man hier ein "VBNullString"-Zeichen werden alleKey' s in der Sektion entfernt. |
lpszString | Erwartet den wert den der Key bekommen soll. Übergibt man hier ein "VBNullString"-Zeichen wird dieser Key entfernt. |
Rückgabewert:
Ist die Funktion erfolgreich, so ist die Rückgabe "ungleich 0", andernfalls ist die Rückgabe "0".
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 Debug.Print WriteProfileString("Desktop", "Bemerkung", vbNullString) Else WriteProfileString "Desktop", "Bemerkung", TmpDesc End If End If End Sub