现在学校和公司的朋友们大都遇到过这种情况吧:计算机需要经常在互联网和局域网之间转换,每次转换除了换网线外,还需要修改网络配置(IP地址、网关、DNS等等),相当麻烦。
如何能在一个窗口中一步实现呢?有些公司提供了软件如:IPChanger、EasyProxy等等,但是很遗憾这些软件都不是免费软件,只能试用一段时间。
因此,笔者经过尝试,调试出一个非常简单、易行的方法,供大家参考使用。
首先看一下原理:
Window的netsh命令通过创建和调用记录网络配置的文本文件即可修改网络配置。主要包括一下两个命令:
Netsh interface dump > 相对路径\ netcfg1.txt
这条命令可以将计算机现有的网络配置保存在netcfg1.txt文件中。
Netsh -f netcfg1.txt
这条命令即可将netcfg1.txt文件中保存的网络配置应用到计算机中。
基于以上的两条命令,笔者利用Delphi6.0编制小程序,将它进一步完善。运行结果如下图所示:

如上图所示,小软件主要功能分成两部分:网络设置和网络替换。因为一个计算机绝大多数是在两个网络中互换,所以本程序只实现了两个网络的互换,更多的网络间互换道理是相同的。
网络设置"互联网"和"局域网"两个Button的单击事件是将左侧网络设置区的IP地址、网关、DNS等信息记录到文本中。其中遇到的两个主要困难是IP地址的录入时的出错情况处理和保存文本文件。 更多内容请看IP地址知识普及专题专题,或
代码如下:
procedure TForm1.BitBtn2Click(Sender: TObject); //"局域网"按钮的单击事件 begin FileAppendProc1(); RadioButton2.Checked:=true; end;
procedure TForm1.FileAppendProc1(); //保存文件的函数 var NetFile : TextFile; NetFilename : string; FileAppend,tempStr : string; begin NetFilename :='netcfg2.txt'; FileAppend :=S5+MaskEdit1.Text+S1+MaskEdit2.Text+S2+MaskEdit3.Text+S3+S4; //MessageDlg('This is commend'+FileAppend,mtInformation,[mbOK],0); AssignFile(Netfile,'net.txt'); //net.txt文件要放在应用程序的同一目录中 Reset(NetFile); begin try Memo1.Lines.Text:=''; while not Eof(NetFile) do begin Readln(NetFile,tempStr); Memo1.Lines.Add(tempStr) ; end; finally begin CloseFile(NetFile); end; end; AssignFile(Netfile,NetFilename); Rewrite(NetFile); try Writeln(NetFile,''); finally CloseFile(NetFile); end; Memo1.Lines.Add(FileAppend); Memo1.Lines.SaveToFile(NetFilename); end; end;
上一篇:Delphi中预想不到的代码
下一篇:用Delphi实现QQ窗体的缩入伸出功能
|