The .NET call Environment.UserName
for the most part (>99.9% of the time) gives usernames in the same casing - for example Awebb
. Occasionally though I'm seeing AWebb
. Sometimes it seems that it relates the username as the user entered it when logging on, but other times this is confirmed as not the case.
I think this is bad design and a username should be a username, correctly-cased, no matter what: if the user decides to enter aWEbb
then that doesn't mean the OS should start telling apps that that's their username.
That aside, what's the best/other way to obtain the current user's username - ideally without any domain - using the same security permissions required for Environment.UserName
? I know I could normalise everything to lowercase/uppercase but I'm really after obtaining the username correctly capitalised/formatted.
Get the name of their profile folder:
SHGetKnownFolderPath(FOLDERID_Profile, 0, 0, &s);
e.g. C:\Users\KJohnstone
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With