如何程式設計設定本機IP地址?

chief1985發表於2008-10-16
導讀:

知道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

相關文章