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;
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;
也可以从注册表中读出 98、2k: 从HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control读出current user
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;
var Name:Pchar;
size:cardinal;
begin
size:=64;
name:=StrAlloc(64) ;
if GetUserName(name,size) then
Label1.Caption :=Name;
end;
98、2k:
从HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control读出current user