Entwickler-Ecke
Windows API - Domain Name auslesen
LuMa86 - Di 13.05.14 11:52
Titel: Domain Name auslesen
Hallo :)
In meiner Anwendung muss man seine Windows Anmeldedaten angeben. Dazu gehören nebem dem Benutzername und dem Passwort auch der Domainname. Um es den Anwendern zu erleichtern, nehme ich einige Angaben schon vorweg, wie z.B. den Benutzernamen. Das will ich nun auch mit dem Domiannamen machen, allerdings steh ich hier noch auf dem Schlauch. Habe einen Ansatz gesehen, der ist jedoch von 2002 und benutzt die NetApi32, welche nicht mehr vorhanden ist.
Gibt es da eine Lösung für?
Gruß,
LuMa
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Di 13.05.2014 um 12:15
Narses - Di 13.05.14 12:24
Moin!
Probier mal das hier (D7pro -> ANSI-API-Strings):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| function ExtendedUserName: String; var GetUserNameEx: function(NameFormat: Cardinal; lpNameBuffer: PChar; var dwSize: Cardinal): Boolean; stdcall; hDLL: Integer; dwSize: Cardinal; begin Result := ''; try hDLL := LoadLibrary('secur32.dll'); if (hDLL = 0) then begin Result := CurrentUserNameShort; Exit; end else begin GetUserNameEx := GetProcAddress(hDll,'GetUserNameExA'); if (@GetUserNameEx = NIL) then begin CloseHandle(hDLL); Result := CurrentUserNameShort; end else begin dwSize := MAX_PATH; SetLength(Result,dwSize); If (GetUserNameEx(NameSamCompatible,PChar(Result),dwSize) and (dwSIze > 0) ) then Result := PChar(Result) else Result := CurrentUserNameShort; end; FreeLibrary(hDLL); end; except end; end; |
cu
Narses
jaenicke - Di 13.05.14 13:59
Da dort explizit die GetUserNameExA geladen wird, ist es (unabhängig von der Delphiversion!) kein sauberer Code statt mit PAnsiChar usw. mit dem allgemeinen PChar zu arbeiten.
Genau das führte dann bei der Unicodeumstellung mit Delphi 2009 zu vielen unnötigen Problemen. Denn eigentlich war es auch vorher schon falsch, es hat nur oft niemanden gestört bzw. wurde nicht beachtet.
LuMa86 - Mi 14.05.14 22:58
Danke, hab die Funktion aus dem Delphi-Treff genommen, da die ja noch viel umfangreicher ist... Kann man immer mal gebrauchen.
Dankö :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!