您好,欢迎来到步遥情感网。
搜索
您的当前位置:首页DELPHI 中取本机的计算机名、IP地址、MAC地址、WINDOWS登录的用户名

DELPHI 中取本机的计算机名、IP地址、MAC地址、WINDOWS登录的用户名

来源:步遥情感网
Delphi中取本机的计算机名、IP地址、MAC地址、Windows登录的用户名

---------------------------------------------------------------usesWindows,WinSock;{ComputerLocalIP}//取本机的IP地址

functionComputerLocalIP:string;var

ch:array[1..32]ofchar;wsData:TWSAData;myHost:PHostEnt;i:integer;begin

Result:='';

ifWSAstartup(2,wsData)<>0thenExit;//can’tstartwinsocktry

ifGetHostName(@ch[1],32)<>0thenExit;//getHostNamefailedexcept

Exit;end;

myHost:=GetHostByName(@ch[1]);//GetHostNameerrorifmyHost=nilthenexit;fori:=1to4dobegin

Result:=Result+IntToStr(Ord(myHost.h_addr^[i-1]));ifi<4then

Result:=Result+'.';

end;end;

//获取本机IP的MAC地址

FunctionGetMacAddress:string;var

Lib:Cardinal;

Func:function(GUID:PGUID):Longint;stdcall;GUID1,GUID2:TGUID;begin

ResultLib:=ifLibbegin

if

:='';

LoadLibrary('rpcrt4.dll');<>0then

Win32Platform<>VER_PLATFORM_WIN32_NTthen@Func:=GetProcAddress(Lib,'UuidCreate')

else@Func:=GetProcAddress(Lib,'UuidCreateSequential');ifAssigned(Func)thenbegin

if(Func(@GUID1)=0)and

(Func(@GUID2)=0)and

(GUID1.D4[2]=GUID2.D4[2])and(GUID1.D4[3]=GUID2.D4[3])and(GUID1.D4[4]=GUID2.D4[4])and(GUID1.D4[5]=GUID2.D4[5])and(GUID1.D4[6]=GUID2.D4[6])and(GUID1.D4[7]=GUID2.D4[7])thenbegin

Result:=

IntToHex(GUID1.D4[2],2)+'-'+IntToHex(GUID1.D4[3],2)+'-'+IntToHex(GUID1.D4[4],2)+'-'+IntToHex(GUID1.D4[5],2)+'-'+IntToHex(GUID1.D4[6],2)+'-'+IntToHex(GUID1.D4[7],2);end;end;

FreeLibrary(Lib);

end;end;

//取本机的计算机名{ComputerName}

functionComputerName:string;var

FStr:PChar;FSize:Cardinal;begin

FSize:=255;

GetMem(FStr,FSize);

Windows.GetComputerName(FStr,FSize);Result:=FStr;

FreeMem(FStr);end;

//取Windows登录用户名{WinUserName}

functionWinUserName:string;var

FStr:PChar;FSize:Cardinal;begin

FSize:=255;

GetMem(FStr,FSize);

GetUserName(FStr,FSize);Result:=FStr;FreeMem(FStr);end;

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- obuygou.com 版权所有 赣ICP备2024042798号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务