Zugriff auf Windows-Benutzer



  • Hallo an alle.
    Kann mir jemand sagen, wie ich den derzeitigen an Windows angemeldeten Benutzer rausfinden kann?

    Problembeschreibung:
    Ich habe zwei Windowsbenutzer angelegt, wobei einer der Admin und der andere der Benutzer ist.

    Es werden in meinem Programm automatisch dateien verändert.
    Allerdings wird der Zugriff durch Windows verweigert, wenn der Benutzer angemeldet wurde. (Das führt zum Absturz)

    Jetzt muß ich irgendwie meinem Programm mitteilen welcher Benutzer Angemeldet ist, um das Datenschreiben abzufangen.

    Nur wie?



  • Das geht mit GetUserName() :

    #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; 
    AfxMessageBox(sUserName);
    

    Gruß
    :: NoName ::



  • Absolut super.
    Danke für die schnelle Antwort.



  • Jetzt habe ich noch ein Weiteres Problem bekommen.

    Wenn ich mich an Windows als normaler Benutzer Anmelde, aber in meinem Programm als Admin dann möchte ich auch gern Datein schreiben können.
    Die verwährt mir allerdings die NTFS Zugriffsbeschränkung.

    Gibt es eine möglichkeit die gewünschte Datei als Admin zu öffnen?

    sowas wie:

    CFile f;
    char* pFileName = "test.dat";
    [b]f.OpenAs.....;[/b]
    f.Open( pFileName, CFile::modeCreate | CFile::modeWrite )
    


  • Und noch ein weiteres Problem:
    Wiebekomme ich raus in welcher Benutzergruppe ein User ist?

    (Hoffe nicht das jemand diese Beiträge als Spam wertet)


Anmelden zum Antworten