本机的IP地址保存了注册表中.如下 在注册表的这里:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0001] "DriverDesc"="TCP/IP" "InfSection"="MSTCP.ndi" "IPAddress"="192.168.0.199" "IPMask"="255.255.255.0" "DeviceVxDs"="vtdi.386,vip.386,vtcp.386,vdhcp.386,vnbt.386" "InstallVnbt"="0" "InfPath"="NETTRANS.INF" "ProviderName"="Microsoft" "DriverDate"=" 5- 5-1999" "DevLoader"="*ndis" "DefaultGateway"="192.168.0.1" 设为自动获取后就这样了: [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0001] "DriverDesc"="TCP/IP" "InfSection"="MSTCP.ndi" "IPAddress"="0.0.0.0" "IPMask"="0.0.0.0" "DeviceVxDs"="vtdi.386,vip.386,vtcp.386,vdhcp.386,vnbt.386" "InstallVnbt"="0" "InfPath"="NETTRANS.INF" "ProviderName"="Microsoft" "DriverDate"=" 5- 5-1999" "DevLoader"="*ndis" "DefaultGateway"="192.168.0.1" 修改IP地址: 你所需要修改的注册表主键为 HKEY_LOCAL_MACHINE,所以请确定你的程序有足够权限。 查找子键 SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\netcard#,netcard# 通常为"1",但是如果安装了多块网卡名称就会有所不同。 得到键"ServiceName"的值。 通过刚才得到的"ServiceName"打开相应的键SYSTEM\CurrentControlSet\Services\"ServiceName"\Parameters\TcpIp。 设置键"IpAddress"的值以达到改变IP地址的目的,同时需要设置"SubnetMask"键值以改变子网掩码。 设置"DefaultGateway"键值改变默认网关地址。 重新启动 修改主机名称: 你所需要修改的注册表主键为 HKEY_LOCAL_MACHINE 打开子键 SYSTEM\CurrentControlSet\Services\TcpIp\Parameters 更改键"HostName"的值 打开子键 SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName 更改键"ComputerName"的值 重新启动 使用iphlpapi里面的addnetwordaddress和deletenetwordaddress函数.当然也可以. 当然还可以使用脚本函数 system("netsh interface ip set address name="本地连接" source=static addr=x.x.x.x mask=255.255.255.0 gateway="x.x.x.x" gwmetric=1 ") system("etsh interface ip set dns name="本地连接" static x.x.x.x register=PRIMARY")