Delphi获取本地IP地址

uses WinSock;

function GetLocalIP(var LocalIp: string): Boolean;
var 
  HostEnt: PHostEnt;
  IP: String;
  Addr: PChar;
  Buffer: array [0..63] of Char;
  WSData: TWSADATA;
begin
  Result := False;
  try
    WSAStartUp(2, WSData);
    GetHostName(Buffer, SizeOf(Buffer));
    HostEnt := GetHostByName(Buffer);
    if HostEnt = nil then exit;
    Addr := HostEnt^.h_addr_list^;
    IP := Format( '%d.%d.%d.%d', [ Byte(Addr[0]), Byte(Addr[1]),
    Byte(Addr[2]), Byte(addr[3]) ]);
    LocalIp := Ip;
    Result := True;
  finally
    WSACleanup;
  end;
end;

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Delphi获取以太网适配器的本地网络名称可以通过使用WinAPI来实现。具体步骤如下: 1. 首先,我们需要使用WinAPI函数来获取适配器的信息。在Delphi中,可以使用`GetAdaptersAddresses`函数来实现。该函数可以返回适配器的信息结构体链表。 2. 然后,我们需要遍历适配器链表,查找以太网适配器。可以使用`GetAdaptersInfo`函数来获取适配器信息,其中的结构体中包含了适配器的名称和描述等信息。 3. 最后,从适配器信息中获取以太网适配器的本地网络名称。 下面是用Delphi实现以上步骤的示例代码: ```delphi uses WinSock2, IPHlpAPI, SysUtils; type PIP_ADAPTER_INFO = ^IP_ADAPTER_INFO; IP_ADAPTER_INFO = record // 适配器信息的结构体 // ... end; function GetEthernetAdapterName: string; var pAdapterInfo: PIP_ADAPTER_INFO; pAdapter: PIP_ADAPTER_INFO; pLen: ULONG; Ret: DWORD; begin Result := ''; // 获取适配器信息链表的长度 pLen := 0; Ret := GetAdaptersInfo(nil, pLen); if Ret <> ERROR_BUFFER_OVERFLOW then Exit; // 分配适配器信息链表内存 GetMem(pAdapterInfo, pLen); try // 获取适配器信息 if GetAdaptersInfo(pAdapterInfo, pLen) <> ERROR_SUCCESS then Exit; // 遍历适配器链表,查找以太网适配器 pAdapter := pAdapterInfo; while Assigned(pAdapter) do begin if pAdapter^.Type_ = MIB_IF_TYPE_ETHERNET then begin Result := string(pAdapter^.AdapterName); Break; end; pAdapter := pAdapter^.Next; end; finally FreeMem(pAdapterInfo); end; end; begin // 使用示例 Writeln('以太网适配器本地网络名称:', GetEthernetAdapterName); end. ``` 请注意,以上代码是一个简化示例,并未进行错误处理和异常处理。在实际使用中,应该根据具体需求进行适当的修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值