Avatar ·

如何在C#中获取当前Windows用户名?

大家好!我是一名初学C#的开发者,正在为公司内部使用编写一个小型应用程序。我需要程序自动识别当前正在使用计算机的员工,并将该名称记录到日志中。 我尝试过使用 `Environment.UserName`,但似乎它返回的不是我需要的。我还听说过 `WindowsIdentity.GetCurrent()`,但我不理解这两种方法之间的区别。 以下是我认为应该能正常工作的代码示例: ```csharp using System; class Program { static void Main() { string currentUser = Environment.UserName; Console.WriteLine("当前用户: " + currentUser); } } ``` 问题在于,当我通过任务计划程序以SYSTEM身份或其他服务账户运行应用程序时,我得到的不是实际坐在计算机前的用户的名称,而是服务的名称。请告诉我如何正确获取实际用户的名称。