gpt4 book ai didi

c# - 当前用户名(如果帐户名已更改)

转载 作者:行者123 更新时间:2023-11-30 12:10:43 27 4
gpt4 key购买 nike

我尝试在 C# 中获取当前登录用户的名称 - 而不是我可以在 Environment.UserName 中轻松找到的帐户名称。我想像资源管理器一样枚举 MyComputer 上的文件夹。我该怎么做,或者是否有其他方法来获取用户的正确名称?

提前致谢。

最佳答案

尝试使用:

System.Security.Principal.WindowsIdentity.GetCurrent().Name 这应该返回当前登录用户的帐户及其名称。

如果在用户名更改后这不起作用,另一种方法是获取当前用户的 SID,然后查找与该 SID 匹配的用户名。

using System.Security.Principal;
string sid = WindowsIdentity.GetCurrent().Owner.ToString();
return new SecurityIdentifier(sid).Translate(typeof(NTAccount)).ToString();

如果失败,获取 SID 并尝试通过 WMI 或注册表找到匹配的用户。有关如何手动执行此操作的说明,请参见此处:http://pcsupport.about.com/od/registry/ht/find-user-security-identifier.htm

如果您可以手动确认这些方法中的任何一个返回新用户名,那么只需在代码中实现它,使用 WMI 调用或注册表访问。

关于c# - 当前用户名(如果帐户名已更改),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17336215/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com