Russian Qt Forum

Qt => Общие вопросы => Тема начата: PM от Апрель 24, 2008, 11:20



Название: Как получить имя пользователя в ОС Windows?
Отправлено: PM от Апрель 24, 2008, 11:20
В написании программы имеется необходимость получить имя  текущего залогиненого пользователя в ОС Windows. Подскажите плиз как это сделать!?


Название: Re: Как получить имя пользователя в ОС Windows?
Отправлено: Пантер от Апрель 24, 2008, 11:34
WinApi


Название: Re: Как получить имя пользователя в ОС Windows?
Отправлено: Sergeich от Апрель 24, 2008, 11:39
getenv("USERNAME")


Название: Re: Как получить имя пользователя в ОС Windows?
Отправлено: IMPOMEZIA от Апрель 24, 2008, 12:39
Код:
QDir::home().dirName()


Название: Re: Как получить имя пользователя в ОС Windows?
Отправлено: PM от Апрель 24, 2008, 17:56
Спасибо  :) пашел код в котором используеться Win API для нахождения имя пользователя собираюсь его потестить:

Код:
QString userName = " ";     
                    #ifdef Q_WS_WIN
              #if defined(UNICODE)
                  if ( qWinVersion() & Qt::WV_NT_based )
                  {
                      TCHAR winUserName[UNLEN + 1]; // UNLEN is defined in LMCONS.H
                      DWORD winUserNameSize = sizeof(winUserName);
                      GetUserName( winUserName, &winUserNameSize );
                      userName = qt_winQString( winUserName );
                  } else
              #endif
                  {
                      char winUserName[UNLEN + 1]; // UNLEN is defined in LMCONS.H
                      DWORD winUserNameSize = sizeof(winUserName);
                      GetUserNameA( winUserName, &winUserNameSize );
                      userName = QString::fromLocal8Bit( winUserName );
                  }
             #else // linux stuff
                         char *user = getenv("USER");
                  userName = QString(user);
             #endif