導讀:
知道IP在什麼位置,就可以更改了,看看下面這個
在NT上, 先獲得網路裝置驅動程式的名稱:
sNetCardRegKey := '/SOFTWARE/Microsoft/Windows NT/CurrentVersion/NetworkCards/1'; 1 或者其他能在這個地方枚舉到的子鍵
regRootKey.RootKey := HKEY_LOCAL_MACHINE;
regRootKey.OpenKeyReadOnly(SNetCardRegKey);
sNetCardDriverName := regRootKey.ReadString('ServiceName');
然後:
sServiceRegKey := '/SYSTEM/CurrentControlSet/Services/';
sTCPIPRegKey := sServiceRegKey + sNetCardDriverName + '/Parameters/Tcpip';
在'IPAddress'中獲得這個裝置的所有IP地址
regRootKey.ReadBinaryData('IPAddress', cIPAddressArray, 255);
在'SubNetMask'中獲得IP地址對應的子網路遮罩
regRootKey.ReadBinaryData('SubNetMask', cNetMaskArray, 255);
在Win95/98中:
獲得裝置名稱的辦法:
sNetCardRegKey := '/Enum/Network/MSTCP/0001/'; 0001 或者其他能在這個地方枚舉到的子鍵
sServiceRegKey := '/SYSTEM/CurrentControlSet/Services/Class/';
regRootKey.RootKey := HKEY_LOCAL_MACHINE;
regRootKey.OpenKeyReadOnly(SNetCardRegKey);
sNetCardDriverName := regRootKey.ReadString('Driver');
然後:
sTCPIPRegKey := sServiceRegKey + sNetCardDriverName;
regRootKey.OpenKeyReadOnly(sTCPIPRegKey);
最後獲得IP地址和子網路遮罩:
sIPAddress := regRootKey.ReadString('IPAddress');
sNetMask := regRootKey.ReadString('IPMask');
Win95不支援一個裝置對應多個地址
本文轉自
http://topic.csdn.net/t/20021124/14/1201306.html