分享

Delphi开发的IP地址修改工具

 npkaida 2015-02-02
procedure TForm1.setIPAddr;
var
  reg:TRegistry;
  name:array [0..255] of char;
  DNS,ID,CardNum:string;
begin
  reg:=TRegistry.Create;
  StrLcopy(name,pchar(Edit6.Text),length(Edit6.Text));
  reg.RootKey:=HKEY_LOCAL_MACHINE;
  ID:=RGcardList.Items.Strings[RGCardList.itemindex];
  cardNum:=copy(ID,pos(';',ID)+1,length(ID));
  reg.CloseKey;
  if length(CardNum) < 2 then
    CardNum:='00'+CardNum;
  if LengTh(CardNum) < 3 then
    CardNum:='0'+CardNum;
  reg.OpenKey('SYSTEM\ControlSet'+CardNum+'\Services',false);
  reg.OpenKey('Tcpip\Parameters\Interfaces',false);
  ID:=CardIdLt.Strings[CardIDLt.IndexOf(ID)+1];
  reg.OpenKey(id,false);
  RegSetValueEx(reg.CurrentKey,'IPAddress',0,REG_MULTI_SZ,@name,13);
  StrLcopy(name,pchar(Edit7.Text),length(Edit7.Text));
  reg.RootKey:=HKEY_LOCAL_MACHINE;
  ID:=RGcardList.Items.Strings[RGCardList.itemindex];
  cardNum:=copy(ID,pos(';',ID)+1,length(ID));
  reg.CloseKey;
  if length(CardNum) < 2 then
    CardNum:='00'+CardNum;
  if LengTh(CardNum) < 3 then
    CardNum:='0'+CardNum;
  reg.OpenKey('SYSTEM\ControlSet'+CardNum+'\Services',false);
  reg.OpenKey('Tcpip\Parameters\Interfaces',false);
  ID:=CardIdLt.Strings[CardIDLt.IndexOf(ID)+1];
  reg.OpenKey(id,false);
  RegSetValueEx(reg.CurrentKey,'SubnetMask',0,REG_MULTI_SZ,@name,13);
  StrLcopy(name,pchar(Edit8.Text),length(Edit8.Text));
  reg.RootKey:=HKEY_LOCAL_MACHINE;
  ID:=RGcardList.Items.Strings[RGCardList.itemindex];
  cardNum:=copy(ID,pos(';',ID)+1,length(ID));
  reg.CloseKey;
  if length(CardNum) < 2 then
    CardNum:='00'+CardNum;
  if LengTh(CardNum) < 3 then
    CardNum:='0'+CardNum;
  reg.OpenKey('SYSTEM\ControlSet'+CardNum+'\Services',false);
  reg.OpenKey('Tcpip\Parameters\Interfaces',false);
  ID:=CardIdLt.Strings[CardIDLt.IndexOf(ID)+1];
  reg.OpenKey(id,false);
  RegSetValueEx(reg.CurrentKey,'DefaultGateway',0,REG_MULTI_SZ,@name,13);
  IF (Trim(Edit9.Text)='') And (Trim(Edit10.Text)='') Then Exit;
  IF (TRim(Edit9.Text)<>'') And (Trim(Edit10.Text)<>'') then
    begin
      DNS:=Trim(Edit9.Text)+','+TRim(Edit10.Text);
     end;
   IF (Trim(Edit9.Text)<>'') And (Trim(Edit10.Text)='') then
     begin
        DNS:=Trim(Edit9.Text);
      end;
   IF (Trim(Edit9.Text)='') And (Trim(Edit10.Text)<>'') then
     begin
        DNS:=Trim(Edit10.Text);
    end;
  StrLcopy(name,pchar(DNS),length(DNS));
  reg.RootKey:=HKEY_LOCAL_MACHINE;
  ID:=RGcardList.Items.Strings[RGCardList.itemindex];
  cardNum:=copy(ID,pos(';',ID)+1,length(ID));
  reg.CloseKey;
  if length(CardNum) < 2 then
    CardNum:='00'+CardNum;
  if LengTh(CardNum) < 3 then
    CardNum:='0'+CardNum;
  reg.OpenKey('SYSTEM\ControlSet'+CardNum+'\Services',false);
  reg.OpenKey('Tcpip\Parameters\Interfaces',false);
  ID:=CardIdLt.Strings[CardIDLt.IndexOf(ID)+1];
  reg.OpenKey(id,false);
 // RegSetValueEx(reg.CurrentKey,'NameServer',0,REG_MULTI_SZ,@name,13);
  reg.WriteString('NameServer',DNS);
  Reg.CloseKey;
  reg.Free;
end;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多