Benutzer ??



  • Hallo Leute,

    Kann ich unter Windows XP/2000 den Benutzernamen des gerade angemeldeten benutzers herausbekommen ???

    Wenn ja, kann mir einer erklären wie ich das anstelle !!

    Danke Coolsero



  • Da es den User nicht gibt (es können mehrere angemeldet sein): Nein, geht nicht. Aber da ich nicht weiß worauf es Dir ankommt, empfehle ich, einen Blick auf die API-Funktion GetUserName zu werfen.



  • Windows ist kein Multiusersystem wie z.B. Linux ist wo mehrerer gleichzeitig arbeiten können (solange man nicht die Terminaldienste der Server-Versionen nimmt
    ) Somit kann nur einer angemeldet sein und die Oberfläche nutzen.



  • Hallo Unix,

    soweit ich weiß ist Win2000 ein Multiusersystem, zumindest
    steht es so in der Betriebssystemliteratur meines Informatik Technikers.

    Gruß

    Test_User



  • vielleicht auch ne möglichkeit was draus zu bauen waäre write profilestring und readprofilestring. zumindest macht das einen eintrag in die registry unter dem current user.

    gruesse rene



  • Unix-Tom schrieb:

    Windows ist kein Multiusersystem wie z.B. Linux ist wo mehrerer gleichzeitig arbeiten können (solange man nicht die Terminaldienste der Server-Versionen nimmt
    ) Somit kann nur einer angemeldet sein und die Oberfläche nutzen.

    Also unter WinXP können sich DEFINITIV mehrere User gleichzeitig anmelden. Es kann zwar immer nur ein User an dem Rechner arbeiten, man kann aber zwischen mehreren Usern ganz einfach wechseln (WindowsTaste+L).
    Und gleichzeitig wie bei Unix mit Windows zu arbeiten geht auch. Allerdings braucht man dazu den TerminalServer. So war es zumindest unter WinNT. Ob das mit WinXP direkt geht weiss ich nicht. Aber ich glaube auf das Konsolenterminal kommt man mit Username/Passwort auch unter Win2000 schon gleichzeitig.

    @Coolsero: Mit GetUsername bekommste den namen des Users unter dessen Account das Programm gestartet wurde. Dienste geben dir da zum Beispiel immer "SYSTEM" zurück.

    mfg
    tobi



  • BTW: Auch unter Windows 2000 können mehrere User angemeldet sein. Im einfachsten Falle startet Ihr einfach einen Process mittels runas.

    Tow-B.de schrieb:

    Dienste geben dir da zum Beispiel immer "SYSTEM" zurück.

    In Diensten könnte man dann beispeilsweise die Logon Sessions enumerieren (siehe: Enumerating Logon Sessions). Ist dann nur noch die Frage, welcher User der Richtige ist.

    Aber vielleicht sollte der OP auch einfach mal klarstellen, was erreicht werden soll.



  • also ich hab hier im forum mal folgedes gefunden und ausprobiert

    #define BUFSIZE 8192
    
    LPTSTR lpszSystemInfo; // pointer to system information string
    DWORD cchBuff = BUFSIZE; // size of computer or user name
    TCHAR tchBuffer[BUFSIZE]; // buffer for string
    
    lpszSystemInfo = tchBuffer;
    LPTSTR sUserName;
    // Get and display the name of the computer.
    
    if( GetComputerName(lpszSystemInfo, &cchBuff) )
    sUserName = lpszSystemInfo;
    
    cchBuff = BUFSIZE;
    
    if( GetUserName(lpszSystemInfo, &cchBuff) )
    sUserName = lpszSystemInfo;
    
    m_myeditbox = sUserName;
    


  • Äh, ja - und nu ? 😃


Anmelden zum Antworten