請問如何獲得當前系統登入用戶的名稱?不是計算機名稱,是Login者的名稱。我知道用GetUserName函數可以得到,但我不會用,請給我詳細代碼?謝謝!

解决方案 »

  1.   

    function TForm1.getnetuser: Ansistring;
    var
      dwl:DWord;
    begin
      dwl:=max_path;
      setlength(result,dwl+1);
      if wnetgetuser(nil,pchar(result),dwl)=no_error then
        setlength(result,strlen(pchar(result)))
      else
        setlength(result,0);
    end;procedure TForm1.Button3Click(Sender: TObject);
    var
      currentuser:string;
    begin
      currentuser:=form1.getnetuser;
      showmessage(currentuser);
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var Name:Pchar;
        size:cardinal;
    begin
       size:=64;
       name:=StrAlloc(64) ;
       if GetUserName(name,size) then
       Label1.Caption :=Name;
    end;
      

  3.   

    也可以从注册表中读出
    98、2k:
    从HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control读出current user