MichaelP Geschrieben 9. Januar 2004 Geschrieben 9. Januar 2004 Hallo Leute, hab ein Problem. Und zwar habe ich in einer Datenbank folgendes Modul: Option Compare Database 'Hier die benötigten API-Deklarationen Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal lpBuffer As String, _ nSize As Long) As Long 'Die Prozedur ermittelt den angemeldeten 'Benutzernamen Public Function GetBenutzer() As String Dim UserName As String Dim Result As Long UserName = Space$(256) Result = GetUserName(UserName, Len(UserName)) If InStr(UserName, Chr$(0)) > 0 Then _ UserName = Left$(UserName, InStr(UserName, Chr$(0)) - 1) UserName = UCase(Mid(UserName, 1, 1)) & Mid(UserName, 2) GetBenutzer = UserName End Function Bisher hat das auch alles einwandfrei funktioniert. Aber jetzt hat ein Kollege von mir seinen Rechner auf Win XP migriert bekommen und es funktioniert bei ihm nicht. Vorher haben nur Rechner mit Win 2000 mit der Datenbank gearbeitet. Access Version ist 2002. Gibt es da eine andere DLL? Oder wie müsste ich die o.g. Funktion anpassen, dass es auch unter XP funktioniert? Danke Euch!
maxim_42 Geschrieben 9. Januar 2004 Geschrieben 9. Januar 2004 Hilfreich für Zeitgenossen ohne Kristallkugel wäre eine etwas genauere Erläuterung von "funktioniert nicht". Die API-Funktion unter der benutzten dll arbeitet jedenfalls auch unter XP. Interessant wäre der Rückgabewert; dein result. Ist er 0, so ist in der API Funktion ein Fehler aufgetreten.
MichaelP Geschrieben 9. Januar 2004 Autor Geschrieben 9. Januar 2004 Original geschrieben von maxim_42 Hilfreich für Zeitgenossen ohne Kristallkugel wäre eine etwas genauere Erläuterung von "funktioniert nicht". Die API-Funktion unter der benutzten dll arbeitet jedenfalls auch unter XP. Interessant wäre der Rückgabewert; dein result. Ist er 0, so ist in der API Funktion ein Fehler aufgetreten. Also... Die Funktion liest den Windows-Anmeldenamen des Benutzers aus. Bei den Windows 2000 Nutzern funktioniert es ohne Probleme. Bei dem Windows XP User bringt er eine Parameterabfrage.
EvilNick Geschrieben 9. Januar 2004 Geschrieben 9. Januar 2004 Alternativ (geht zumindest unter XP und 2000) kannst du mit current_user = Environ$("UserName") den aktuellen Benutzer ermitteln. Dabei wird allerdings auf eine Umgebungsvariable zugegriffen, die der Anwender ändern kann. Über API müßte ich @home schauen, da hab ich sowas am laufen, aber noch nicht unter XP getestet.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden