注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

鑫淼梦园的博客

圆你的梦想 从这里开始

 
 
 

日志

 
 

delphi如何获取与设置IP,子网掩码,网关  

2014-08-19 15:10:14|  分类: Delphi xe6 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
方法一:
调用几个API就行了 API头文件Iphlpapi  
Mprapidll := LoadLibrary('Mprapi.dll');
  if  Mprapidll <32 then
    Exit;
  MprConfigGetFriendlyName := GetProcAddress(Mprapidll,'MprConfigGetFriendlyName');
  MprConfigServerConnect := GetProcAddress(Mprapidll,'MprConfigServerConnect');
  lpwsServerName := '';
  dwRet := MprConfigServerConnect(PWideChar(lpwsServerName),@hMprConfig);
 
  try
  while (pAdapter <> nil) do
  begin
    i := i+1;
    begin
//      cbbNetName.Items.Add(pAdapter.Description);
      NetInformation[i-1].Description := pAdapter.Description;//网卡描述
      NetInformation[i-1].IpAddress := StrPas(pAdapter.IPAddressList.IpAddress);//IP地址
      NetInformation[i-1].IpMask :=  StrPas(pAdapter.IPAddressList.IpMask);//网关
      while (pAdapter.IPAddressList.Next <> nil) do
      begin
        pAdapter.IPAddressList := pAdapter.IPAddressList.next^;
      end;
      str := IntToStr(pAdapter.Address[1]);
    end;
    //获取本地连接名称
    //Wszfriendname := GetWideString(string(szFriendName));
    AdapterName := pAdapter.AdapterName;
    WAdapterName := AdapterName;
    PWAdapterName := PWideChar(WAdapterName);
    dwRet := MprConfigGetFriendlyName(hMprConfig,PWAdapterName,@FriendName[0],500);
    Wszfriendname := FriendName;
    szFriendName := Wszfriendname;
    NetInformation[i-1].Name :=  szFriendName;//本地连接名
 
    pAdapter := pAdapter.Next;
  end;
  FreeMemory(pAdapterInfo) ;
  pAdapter := nil;
  except
    i := 0;
  end;

方法二:
需要修改系统注册表:给一段代码。供参考:
//修改IP开始
    if regRootKey.OpenKey('\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\' + CardList.Strings[cbb1.ItemIndex], True)
    then begin
      if CheckBox1.Checked // 判断是否启用DHCP
      then begin
        regRootKey.WriteInteger('EnableDHCP',1);
        regRootKey.WriteString('NameServer','');
        WriteIp(regRootKey.CurrentKey, 'IPAddress', '0.0.0.0');
        WriteIp(regRootKey.CurrentKey, 'SubNetMask','0.0.0.0');
        WriteIp(regRootKey.CurrentKey, 'DefaultGateway','');
      end
      else begin
        regRootKey.WriteInteger('EnableDHCP',0);
        regRootKey.WriteString('NameServer', Trim(Combobox1.Text));
        WriteIp(regRootKey.CurrentKey,'IPAddress',Trim(Edit2.Text));
        WriteIp(regRootKey.CurrentKey, 'DefaultGateway', Trim(Edit4.Text));
        WriteIp(regRootKey.CurrentKey, 'SubNetMask', Trim(Edit3.Text));
        WriteIp(regRootKey.CurrentKey, 'DefaultGateway', Trim(Edit4.Text));
      end;
    end;

  评论这张
 
阅读(368)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017