我用这个代码
如何让它作为信息出现在我的屏幕上?
Function GetUserFromWindows:String;    
Var    
  UserName : string;   
  UserNameLen : Dword;    
Begin    
  UserNameLen := 255;  
  SetLength(userName, UserNameLen) ;   
  If GetUserName(PChar(UserName), UserNameLen) Then     
    Result := Copy(UserName,1,UserNameLen - 1)       
  Else     
    Result := 'Unknown';      
End;
Ken*_*ite 12
你的功能是错误的,首先:
function GetUserFromWindows: string;
var
  iLen: Cardinal;
begin
  iLen := 256;         // UNLEN constant in LMCons.h says 256 - hard coded.
  Result := StringOfChar(#0, iLen);
  GetUserName(PChar(Result), iLen);
  SetLength(Result, iLen);
end;
如果你真的想要计算机名称,正如你的问题标题所说,它没有太大的不同:
function GetComputerNameFromWindows: string;
var
  iLen: Cardinal;
begin
  iLen := MAX_COMPUTERNAME_LENGTH + 1;         // From Windows.pas
  Result := StringOfChar(#0, iLen);
  GetComputerName(PChar(Result), iLen);
  SetLength(Result, iLen);
end;
现在,您可以随意使用其中任何一个:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(GetUserFromWindows);
  ShowMessage(GetComputerNameFromWindows);
end;
要么:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.Caption := GetUserFromWindows;
  Label2.Caption := GetComputerNameFromWindows;
end;
| 归档时间: | 
 | 
| 查看次数: | 8007 次 | 
| 最近记录: |