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! Zitieren
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. Zitieren
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. Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.