Environment.UserName дает разные результаты для одного и того же пользователя (корпус): альтернатива / преобразование? - PullRequest
3 голосов
/ 06 июня 2011

.NET-вызов Environment.UserName по большей части (> 99,9% времени) дает имена пользователей в одном корпусе - например, Awebb.Иногда, хотя я вижу AWebb.Иногда кажется, что это связывает имя пользователя с тем, которое пользователь ввел при входе в систему, но в других случаях это подтверждается как не тот случай.

Я думаю, что это плохой дизайн, и имя пользователя должно быть именем пользователя, правильно -в любом случае: если пользователь решит ввести aWEbb, это не означает, что ОС должна начать сообщать приложениям, что это их имя пользователя.

Кроме того, каков наилучший / другой способ полученияимя пользователя текущего пользователя - в идеале без домена - использовать те же разрешения безопасности, которые требуются для Environment.UserName?Я знаю, что могу все нормализовать в нижний / верхний регистр, но я действительно после получения имени пользователя правильно прописной / отформатированной.

Ответы [ 2 ]

1 голос
/ 06 июня 2011

Получить имя папки своего профиля:

SHGetKnownFolderPath(FOLDERID_Profile, 0, 0, &s);

например, C:\Users\KJohnstone

0 голосов
/ 25 ноября 2012

Кажется, это просто невозможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...