我想取得当前登陆用户的名称并显示,用System.Environment.UserName似乎可以获取。但是如果我在用户帐户里修改用户的名称后,用这个属性取得的仍旧是原来的名称,即使重启系统后,用这个属性取得的还是原来的名称。请教各位有没有什么方法可以正确的取得当前用户的名称?不胜感激。

解决方案 »

  1.   

    是不是这个?Environment.UserDomainName;
      

  2.   

    这个属性取得的是当前用户所在域(domain)的名称。
      

  3.   

    to  haizhizi2006()
      我想做的是在软件启动时显示当前登陆用户的名称。登陆时做验证有效吗? 
      如何通过id号和密码获得用户的名称,能否说得详细一些?
      

  4.   

    System.Environment.UserName
    System.Environment.UserDomainName不明白LZ的意思。这2个应该可以满足你的要求了。
    你要本机的所有信息,看看这个API
    [DllImport("user32")] public static extern int GetSystemMetrics(int nIndex);
      

  5.   

    我的目的是能够取得当前登陆用户的名称,并显示在软件中。如果用户改变了名称,重启软件后应该能够显示新的名称。[DllImport("user32")] public static extern int GetSystemMetrics(int nIndex);
    试了一下,这个API不能得到用户的名称,没有在SDK里找到能够返回用户名称的nIndex值。
      

  6.   

    有如下的三个方法都可以得到当前登录的用户名:
    Environment.UserName
    System.Environment.UserDomainName
    WindowsIdentity.GetCurrent(false).Name;
    当修改了用户名后如果不注销或重启得到的用户名都会是最初登录的时候输入的名字不是改变后的.当修改了名字后要注销或重启就可以了.