在win2000(xp,2003)中登陆都要用户名和密码,如:administrator等
登录后,在“运行”输入“cmd”—》“echo %username%”就能显示你所登录的用户名。如用administrator登录,就显示“administrator”现在在dephi中如何获取该用户名?最好不要用到注册表。

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3044/3044728.xml?temp=.2768671
      

  2.   

    用API函数:GetUserName
    用法参见MSDN.
      

  3.   

    BOOL GetUserName(
        LPTSTR lpBuffer, // address of name buffer 
        LPDWORD nSize  // address of size of name buffer 
       );
      

  4.   

    function GUserName: String;
    var
      pcUser   : PChar;
      dwUSize : DWORD;
    begin
      dwUSize := 21;
      result:='';
      GetMem( pcUser, dwUSize );
      try
        if Windows.GetUserName( pcUser, dwUSize ) then
          Result := pcUser
      finally
         FreeMem( pcUser );
      end;
    end;