Функции определения учетной записи и папки учетной записи, подскажите, пожалуйста |
Здравствуйте, гость ( Вход | Регистрация )
Функции определения учетной записи и папки учетной записи, подскажите, пожалуйста |
AD |
20.3.2009, 9:35
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Есть ли в Qt функции определения имени компьютера, учетной записи? А также функции определения папки нахождения профиля учетной записи?
|
|
|
ViGOur |
20.3.2009, 9:37
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Думаю, что нет.
Нужно делать индивидуально для каждой ОС. |
|
|
AD |
20.3.2009, 9:56
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Думаю, что нет. Нужно делать индивидуально для каждой ОС. Да ладно, неужели нет функции определения названия учетной записи, хотя бы? Очень и очень нужно..... О, кое-что нашел! Цитата QString QDir::homePath () [static] Returns the absolute path of the user's home directory. Under Windows this function will return the directory of the current user's profile. Typically, this is: C:/Documents and Settings/Username Use the toNativeSeparators() function to convert the separators to the ones that are appropriate for the underlying operating system. If the directory of the current user's profile does not exist or cannot be retrieved, the following alternatives will be checked (in the given order) until an existing and available path is found: The path specified by the USERPROFILE environment variable. The path formed by concatenating the HOMEDRIVE and HOMEPATH environment variables. The path specified by the HOME environment variable. The path returned by the rootPath() function (which uses the SystemDrive environment variable) The C:/ directory. Under non-Windows operating systems the HOME environment variable is used if it exists, otherwise the path returned by the rootPath() function is used. А есть функции, которые позволяют узнать именно имя учетной записи? А то придется извлекать из пути, который вернет эта функция. |
|
|
kwisp |
20.3.2009, 10:20
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
придется getenv(const char*) использовать. но это не совсем верный путь.
|
|
|
AD |
20.3.2009, 10:54
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
kwisp |
20.3.2009, 11:05
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
getenv("USERNAME") для винды
getenv("USER") для линукса. но редупреждаю это не совсем верный способ. потому что имя берется не из процесса короче это не эффективный uid. а так просто переменная окружения текущая точно так же можно брать HOME PATH и т.д. и т.п. возвращает const char* Сообщение отредактировал kwisp - 20.3.2009, 11:06 |
|
|
AD |
20.3.2009, 11:37
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Компилятор подсказал более современную функцию.
_dupenv_s(char** PUserName, sizet_t* PSizeUsr, const char* user_name); |
|
|
kwisp |
20.3.2009, 11:39
Сообщение
#8
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
AD,
что за компилятор и кросплатформенна ли эта функция??? |
|
|
AD |
20.3.2009, 11:40
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
SABROG |
20.3.2009, 11:40
Сообщение
#10
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
У Qt есть кроссплатформенные варианты qgetenv()/qsetenv(). Но о них не написано в документации, т.ч. на свой страх.
|
|
|
Текстовая версия | Сейчас: 28.3.2024, 12:45 |