Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Schon wieder Windowsnutzer auslesen (https://www.delphipraxis.net/66338-schon-wieder-windowsnutzer-auslesen.html)

DirkG 28. Mär 2006 16:09


Schon wieder Windowsnutzer auslesen
 
Hallo !

Ich habe folgendes Problem. Ich müßte den Benutzernamen von Windows XP (findet sich z.B. unter Start - "Benutzer xy" abmelden) auslesen.
Alle Funktionen die ich gefunden habe, liefern nur den Nutzernamen im Netzwerk zurück ( siehe Beispiel). Welche API Funktion oder andere Möglichkeit gibt es?

Vieleicht noch einmal anders.
  • Benutzername lang : Max Mustermann
  • Benutzername kurz : Max
Was ich suche ist eine Funktion die den ersten Eintrag liefert. Alles was ich gefunden habe liefert aber nur den 2. Eintrag.

So hier nun das Beispiel für alle Besserwisser, die meinen es ist doch ganz einfach.
Noch einmal! So funktioniert es nicht!

Delphi-Quellcode:
// Funktion.....: User-Name (im Netzwerk)
function GetUserName:string;
var buffer : array[0..MAX_PATH] of Char; Size: DWORD;
begin
  Size := sizeof(buffer);
  Windows.GetUserName(buffer, Size);
  SetString(Result, buffer, lstrlen(buffer));
end;

Luckie 28. Mär 2006 17:43

Re: Schon wieder Windowsnutzer auslesen
 
Guck dir mal meine Unit MpuNTUser.pas an, zu finden auf meiner Hompage. Damit geht es.

toms 29. Mär 2006 08:19

Re: Schon wieder Windowsnutzer auslesen
 
GetUsernameEx

DirkG 29. Mär 2006 14:59

Re: Schon wieder Windowsnutzer auslesen
 
@toms
Danke für den Tipp, aber es hapert bei mir mit der Umsetzung von C# auf Delphi noch.

@Luckie
Danke für die schnelle Anwort. Hat funktioniert.

Luckie 29. Mär 2006 15:02

Re: Schon wieder Windowsnutzer auslesen
 
Wo ist das C#? Btw: Hier im Forum suchenGetUsernameEx.

DirkG 30. Mär 2006 09:31

Re: Schon wieder Windowsnutzer auslesen
 
@Luckie

Toms Link führte zur MSDN Libary (http://msdn.microsoft.com/library/de...usernameex.asp). Das meinte ich mit C#

sakura 30. Mär 2006 09:36

Re: Schon wieder Windowsnutzer auslesen
 
@DirkG: Die MSDN zeigt Dir aber widerum C++ und C# für diesen Fall an :mrgreen:

...:cat:...

Cogito 10. Mär 2009 09:08

Re: Schon wieder Windowsnutzer auslesen
 
Zitat:

Zitat von Luckie
Guck dir mal meine Unit MpuNTUser.pas an, zu finden auf meiner Hompage. Damit geht es.

Ich hab mir die Unit mal angeschaut. Wie lautet denn da die Funktion zum einfachen Ermitteln des aktuellen Benutzers? (Beispiel mit Parametern??)

Luckie 10. Mär 2009 09:14

Re: Schon wieder Windowsnutzer auslesen
 
Du meinst den Benutzer, den den zugehörigen Prozess gestartet hat? Die findest du in der Unit nicht, weil die betreffende API-Funktion MSDN-Library durchsuchenGetUsername schon in der Windows.pas deklariert ist. Siehe auch die vorangegangenen Postings, insbesondere das erste.

Cogito 10. Mär 2009 09:24

Re: Schon wieder Windowsnutzer auslesen
 
Zitat:

Zitat von Luckie
Du meinst den Benutzer, den den zugehörigen Prozess gestartet hat? Die findest du in der Unit nicht, weil die betreffende API-Funktion MSDN-Library durchsuchenGetUsername schon in der Windows.pas deklariert ist. Siehe auch die vorangegangenen Postings, insbesondere das erste.

Ich hab mir das alles angeschaut, auch die Funktion mit dem GetLoggedOnUserNameEx. Was ich nicht verstehe ist, worin liegt der genau Unterschied zu dem verhältnismässig einfachen GetUserName? Ist derjenige, der z.b. ein (genauer mein) Programm auf seinem Rechner startet, nicht auch derjenige (oder ohne Adminrechte immer), auf dessen Rechner die Anwendung läuft?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz