大多数情况下,.NET调用Environment.UserName
(> 99.9%)会在同一个大小写中提供用户名 - 例如Awebb
。偶尔我会看到AWebb
。有时它似乎与用户在登录时输入的用户名有关,但有时则确认不是这种情况。
我认为这是一个糟糕的设计,用户名应该是一个用户名,正确套用,无论如何:如果用户决定输入aWEbb
那么这并不意味着操作系统应该开始告诉应用程序这是他们的用户名。
除此之外,使用Environment.UserName
所需的相同安全权限,获取当前用户的用户名(最好是没有任何域名)的最佳/其他方式是什么?我知道我可以将所有内容规范化为小写/大写但我真的在获得正确大写/格式化的用户名之后。
答案 0 :(得分:1)
获取其个人资料文件夹的名称:
SHGetKnownFolderPath(FOLDERID_Profile, 0, 0, &s);
e.g。 C:\Users\KJohnstone
答案 1 :(得分:0)
这似乎根本不可能。