Delphi 中取原生電腦名稱、IP地址、Windows登入的使用者名稱

來源:互聯網
上載者:User

//作者:陸島工作室 XOtec Studio
//組件庫:XOtecExpress。  

幾個在Delphi 中取原生電腦名稱、IP地址、Windows登入的使用者名稱的函數.

uses Windows, WinSock;

{ ComputerLocalIP }

//取原生 IP 地址

function ComputerLocalIP: string;
var
  ch: array[1..32] of char;
  wsData: TWSAData;
  myHost: PHostEnt;
  i: integer;
begin
  Result := '';
  if WSAstartup(2,wsData)<>0 then Exit; // can’t start winsock
  try
    if GetHostName(@ch[1],32)<>0 then Exit; // getHostName failed
  except
    Exit;
  end;
  myHost := GetHostByName(@ch[1]); // GetHostName error
  if myHost=nil then exit;
  for i:=1 to 4 do
  begin
    Result := Result + IntToStr(Ord(myHost.h_addr^[i-1]));
    if i<4 then
      Result := Result + '.';
  end;
end;

//取原生電腦名稱

{ ComputerName }

function ComputerName: string;
var
  FStr: PChar;
  FSize: Cardinal;
begin
  FSize := 255;
  GetMem(FStr, FSize);
  Windows.GetComputerName(FStr, FSize);
  Result := FStr;
  FreeMem(FStr);
end;

//取Windows登入使用者名稱

{ WinUserName }

function WinUserName: string;
var
  FStr: PChar;
  FSize: Cardinal;
begin
  FSize := 255;
  GetMem(FStr, FSize);
  GetUserName(FStr, FSize);
  Result := FStr;
  FreeMem(FStr);
end;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.