How to put an IP address into a registry DWORD value

[[Edited 11th, 13th, 15th January, 2010]]

To specify an IP address in a registry value, there are usually two ways:

  • Type the dotted notation IP address directly (STRING values)
  • Convert the IP address to hex (DWORD values)

The dotted notation is just a convention to make life easier for humans and can only be used in String values. Here the IPv4 address is broken down into four separate bytes; the contents of each byte are expressed as a decimal value and the four decimal values are written down separated by periods (most significant byte first).

A DWORD, though, expects a 32-bit integer. To demonstrate how to derive an integer from a human-friendly-format address:
 
192 = 0xC0 (this is the most significant byte)
 16 = 0x10
1 = 0x01
20 = 0x14 (this is the least significant byte)
 
This would become the integer value 0xC0100114 that you then enter into the registry. 

Note - You can also write a little app to call the inet_addr() function to convert a string in dotted notation into a long word.