在程序中实现用默认的Web浏览器打开URL以及发送电子邮件......
4.获取本地IP地址 uses WinSock, SysUtils;
…… type ESockUtilErr = Class(Exception);
………… function GetLocalIpAddress : string; type pu_long = ^u_long;
var varTWSAData : TWSAData;
varPHostEnt : PHostEnt;
varTInAddr : TInAddr; namebuf : Array[0..255] of char;
fd : integer; rc : integer;
begin
result := "";
rc := WSAStartup($101,varTWSAData);
if rc $#@60;$#@62; 0 then raise ESockUtilErr.CreateFmt( "WSA启动错误: %d",[rc] )
else
begin
gethostname(namebuf,sizeof(namebuf));
varPHostEnt := gethostbyname(namebuf);
varTInAddr.S_addr := u_long(pu_long(varPHostEnt^.h_addr_list^)^);
result := inet_ntoa(varTInAddr);
end;
fd := WinSock.Socket( PF_INET, SOCK_STREAM, 0 );
if fd = INVALID_SOCKET then raise ESockUtilErr.CreateFmt( "%d %d: 无效 socket",[fd,WSAGetLastError] );
WSACleanup;
end;
查看本文来源