[英]Environment.UserName returning as SYSTEM rather than User's name
[英]Environment.UserName gives different results for same user (casing): alternative/transformation?
.NET 在大多數情況下(>99.9% 的時間)調用Environment.UserName
提供相同大小寫的用戶名 - 例如Awebb
。 雖然我偶爾會看到AWebb
。 有時,它似乎與用戶在登錄時輸入的用戶名相關,但有時這被證實並非如此。
我認為這是一個糟糕的設計,用戶名應該是正確大小寫的用戶名,無論如何:如果用戶決定輸入aWEbb
,那么這並不意味着操作系統應該開始告訴應用程序這是他們的用戶名。
除此之外,使用Environment.UserName
所需的相同安全權限獲取當前用戶的用戶名(理想情況下沒有任何域)的最佳/其他方式是什么? 我知道我可以將所有內容規范化為小寫/大寫,但我真的在獲得正確大寫/格式化的用戶名之后。
獲取他們的個人資料文件夾的名稱:
SHGetKnownFolderPath(FOLDERID_Profile, 0, 0, &s);
例如C:\Users\KJohnstone
看來這根本不可能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.