Auf vielen Computern sind oftmals mehrere Benutzer eingerichtet. Daher ist es oft erforderlich sein, dass jeder Benutzer seine eigenen Einstellungen vornehmen kann. Dies ist mit INI-Dateien, welcher meiner Meinung nach sowieso praktischer als die Regestry sind, natürlich ebenfalls möglich. Alles, was Sie hierzu benötigen, ist ein Modul und folgender Code: ' API's für Lesen/und Schreiben von INI-Dateien Private Declare Function GetPrivateProfileString Lib "kernel32" _ Alias "GetPrivateProfileStringA" ( _ ByVal lpApplicationName As String, _ ByVal lpKeyName As Any, _ ByVal lpDefault As String, _ ByVal lpReturnedString As String, _ ByVal nSize As Long, _ ByVal lpFileName As String) As Long Private Declare Function WritePrivateProfileString Lib "kernel32" _ Alias "WritePrivateProfileStringA" ( _ ByVal lpApplicationName As String, _ ByVal lpKeyName As Any, _ ByVal lpString As Any, _ ByVal lpFileName As String) As Long ' GetUserName-Funktion Private Declare Function API_GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" ( _ ByVal lpBuffer As String, _ nSize As Long) As Long ' INI-Datei Public INIFileName As String ' Gibt den Namen des aktuell angemeldeten Benutzers ' zurück Public Function GetUserName() As String GetUserName = String(100, Chr$(0)) ' Erstelle Puffer API_GetUserName GetUserName, 100 GetUserName = Left$(GetUserName, _ InStr(GetUserName, Chr$(0)) - 1) End Function ' Liest Informationen aus INI-Dateien ' Key = Schlüssel ' Paragraph = Abschnitt (Optional) ' PublicSetting = Gibt an ob die Einstellung für alle ' Benutzer ist oder nur für den aktuellen Public Function INILesen(Key As String, _ Optional DefaultValue As String = "", _ Optional Paragraph As String = "Einstellungen", _ Optional PublicSetting As Boolean = False) As String If PublicSetting Then ' globale Einstellung (alle User) Paragraph = "Public\" & Paragraph Else ' Userdefinierte Einstellung Paragraph = GetUserName & "\" & Paragraph End If If INIFileName = "" Then _ INIFileName = App.Path & "\" & App.EXEName & ".INI" INILesen = String$(255, 0) If Key <> "" Then Call GetPrivateProfileString(Paragraph, Key, "", _ INILesen, 255&, INIFileName) End If INILesen = Replace(INILesen, Chr(0), "") If INILesen = "" Then INILesen = DefaultValue End Function ' Schreibt Informationen in INI-Dateien ' Key = Schlüssel ' Value = Wert (Optional) ' Paragraph = Abschnitt (Optional) ' PublicSetting = Gibt an ob die Einstellung für alle ' Benutzer ist oder nur für den aktuellen Public Sub INISchreiben(Key As String, _ Optional Value As String = "", _ Optional Paragraph As String = "Einstellungen", _ Optional PublicSetting As Boolean = False) If PublicSetting Then ' globale Einstellung (alles User) Paragraph = "Public\" & Paragraph Else ' Userdefinierte Einstellung Paragraph = GetUserName & "\" & Paragraph End If If INIFileName = "" Then _ INIFileName = App.Path & "\" & App.EXEName & ".INI" If Key <> "" Then WritePrivateProfileString Paragraph, Key, Value, _ INIFileName End If End Sub Anmerkung [UserName\Einstellungen] ... Und globale Einstellungen so: [Public\Einstellungen] ... Dieser Tipp wurde bereits 20.426 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevOutBar 4.0 Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |