gpt4 book ai didi

c# - 使用 WMI : How can I get the name of the user account who's running my program?

转载 作者:太空狗 更新时间:2023-10-30 00:36:38 28 4
gpt4 key购买 nike

我需要将对我的应用程序的访问限制为只有一个特定的用户帐户。我在 WMI 下找到了用于查找用户帐户的类,但我不知道如何识别哪个正在运行我的应用程序。

最佳答案

获取当前用户名的方法比使用 WMI 更简单。

WindowsIdentity.GetCurrent() . Name将为您提供当前 Windows 用户的名称。

Environment.Username将为您提供当前登录用户的名称。

两者之间的区别在于 WindowsIdentity.GetCurrent().Name 还将包括域名和用户名(即 MYDOMAIN\adrian 而不是阿德里安)。如果您需要来自 Environment 的域名,您可以使用 Environment.UserDomainName .

编辑

如果你真的想使用 WMI 来做,你可以这样做:

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT UserName FROM Win32_ComputerSystem");
ManagementObjectCollection collection = searcher.Get();
string username = (string) collection.Cast<ManagementBaseObject>().First()["UserName"];

不幸的是,ManagementObjectCollection 上没有索引器属性,因此您必须枚举它以获得第一个(也是唯一一个)结果。

关于c# - 使用 WMI : How can I get the name of the user account who's running my program?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1289397/

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