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 21.284 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (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. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats Microsys Kramer Datum und Uhrzeit der letzten Anmeldung eines Benutzers ermitteln Dieser Tipp zeigt das Datum und die Uhrzeit der letzten Anmeldung an Neu! sevDTA 3.0 Pro ![]() SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. |
||||||||||||||||
|
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. |
|||||||||||||||||


INI-Dateien für mehrere Benutzer


