请问各位如何修改本机的IP地址、GATEWAY、子网掩码(win2000)(150分)

  • 主题发起人 主题发起人 天使小徒
  • 开始时间 开始时间

天使小徒

Unregistered / Unconfirmed
GUEST, unregistred user!
如題

要求:用delphi实现,不要重新启动计算机,修改后要马上生效
 
不知道

关注一下!
 
你查一下 API吧
 
使用Windows自带的程序 netsh 可以实现你的目的:
http://www.yesky.com/20030410/1662582.shtml

首先打开记事本,输入以下内容:
  int ip
  set address name=″本地连接″ source=static addr=192.168.0.7 mask=255.255.255.0
  然后保存为一个名为“7.sh”的文件,放到C盘根目录下,再进入命令行模式,在C盘根目录下键入“netsh exec 7.sh”,好像没什么反应啊?不过再用ipconfig查看一下,会发现IP地址已经改过来了。
 
指定的介面 本地連接 不正確。

錯誤提示!
 
可以用
C:/>netsh interface ip set address 本地连接 static 10.0.0.9 255.0.0.0 10.0.0.1 1
命令修改ip地址。

用Exec调用
 
指定的介面 本地連接 不正確。

錯誤提示!
 
本地连接 只是DEMO用的,要根据你机器上的设置来定
比如在我机上的就是: Local Area Connection 100M
 
謝謝樓上的,我知道這是根據機器不同而不同的,但問題是我的的確是寫著本地連接

後來我改為local 也不知,一樣說local不正確

那怎麼才知道本地機上所謂的介面是具體什麼呢?
 
找遍論壇就是找不到該答案,終於又出現這個內容


聽課
 
看清楚"爱媛媛的哥哥"的答案!!!!!!!注意,在命令的最后,由一个空格和1!!!!!!!!
 
to:Kingron
是不是多余了點,這一點也要說明。

to:All
我知道可以用dos命令 netsh來改這些值,問題是我一執行命令就出現"指定的介面***不正確"。現在我所要解決的問題是怎樣才能找出這個介面***到底是什麼?
我試了"本地連接"也提示錯誤!後來我將網卡的連接名稱改為local,也一樣提示"local"不正確。
 
试试这个;
Var
Reg : TRegistry;
TDns : String;
Begin
Reg:=TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
If Reg.OpenKey('/SOFTWARE/Microsoft/Windows NT/CurrentVersion/NetworkCards/1', true) then
TDns := Reg.ReadString('ServiceName');

If Reg.OpenKey('/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/Interfaces/' + TDns, true) then
reg.WriteString('NameServer','202.97.230.4,192.168.0.40');
Reg.CloseKey;
Reg.Free;
End;

修改DNS的,不过有的机器不好使,不知道为什么;
修改IP等的原理都一样,你到注册表里查找一下相应的位置然后修改。
 
to:樓上老兄
怎麼回事,我要改的是IP地址,還有網關和子網掩碼,我還不需要改DNS
還有我查了離線數據庫,在2000下改注冊表是可以,但改後無法馬上有效
 
用WinExec调用:
netsh interface ip set address local static 10.0.0.9 255.0.0.0 10.0.0.1 1
 
netsh.jpg
 

netsh interface ip show config

把结果贴出来
 
FT,我头次见这样的情况

这样吧,你看看你的网络连接里是怎样设置的,netsh用的名字就是你在网络连接里看到的名字,你试试看吧,我目前手头没有繁体中文2000,没办法帮你测。或者你找另外一台机器试试。
 
后退
顶部