Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

IP change


  • Please log in to reply
11 replies to this topic
DeWild1
  • Members
  • 369 posts
  • Last active: Feb 28 2014 08:15 PM
  • Joined: 30 Apr 2006
Hi, is there any automated way to change the IP of network card? Then change it back to DHCP?
I am looking at the reg now, but I think the problem will be determining what one is the default, (active), network card.

jaco0646
  • Moderators
  • 3165 posts
  • Last active: Apr 01 2014 01:46 AM
  • Joined: 07 Oct 2006
I wrote a script to do this on my laptop by using the netsh command; however, I just entered the name of the network connection manually into the script. I don't know if there's a command to return that value or not, but I expect there is. I just needed something simple at the time. By modifying it a bit, it might do what you need, or at least give you some ideas.

>DOWNLOAD<

aCkRiTe
  • Members
  • 577 posts
  • Last active: Jun 21 2013 11:01 PM
  • Joined: 21 Jul 2006
I started to make a script for this a while back, but I dont think I ever completed it. If I remember correctly there are a few things that still need to be worked on in the following script, but I dont plan on working on it any time soon. Feel free to take a look at it and tinker with it as need be.

#SingleInstance Force
#Persistent
#NoEnv
Process Priority, , High
SetBatchLines, -1
Menu, Tray, Icon, Shell32.dll, 89
Able = Disable
SetWorkingDir, %A_Temp%   
FileDelete, NetChange.tmp
FileDelete, NetChange1.tmp
FileDelete, NetChange.bat
RunWait, %Comspec% /c netsh interface show interface >>NetChange.tmp, , Hide
Loop, Read, NetChange.tmp
	{
		StringReplace, Delimiter, A_LoopReadLine, Dedicated, §, UseErrorLevel
		If ErrorLevel = 0
			Continue
		Loop, Parse, Delimiter, §
			{
				If A_LoopField not contains able
					{
						StringReplace, LAN_Name, A_LoopField, %A_Space%%A_Space%, , All
						FileAppend, %LAN_Name%|, NetChange1.tmp
						LAN_Cnt++
					}
			}
	}
FileDelete, NetChange.tmp
FileRead, Var, NetChange1.tmp
StringTrimRight, Var, Var, 1
FileAppend, %Var%, NetChange.tmp
FileRead, LAN, NetChange.tmp



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



ICCE_size          	:= 8
GWL_HINSTANCE      	:= -6
WM_USER            	:= 0x400
ICC_INTERNET_CLASSES    := 0x800
WS_CHILD           	:= 0x40000000
WS_VISIBLE         	:= 0x10000000
IPM_GETADDRESS     	:= WM_USER + 102
IPM_SETADDRESS     	:= WM_USER + 101



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



Gui +LastFound
GuiID := WinExist() 
Gui, Font, cBlue
Gui, Color, Black
Gui, Font, s10
Gui, Add, GroupBox, x15 y15 w293 h320, Internet Protocol (TCP/IP) Settings
Gui, Font, cLime
Gui, Add, Text, x25 y49 w70 h20, LAN Name:
Gui, Add, DropDownList, Choose1 R%LAN_Cnt% vLAN_Name gLAN_Name x95 y45 w202 h25, %LAN%
Gui, Add, Checkbox, x25 y85 gDHCP vDHCP, DHCP (Obtain an IP address automatically)
Gui, Add, Text, x25 y122 w100 h20, IP Address:
IP_Address := GuiAddIPAddress(GuiID, 146, 120, 150, 20)
Gui, Add, Text, x25 y153 w100 h20, Subnet Mask:
Subnet_Mask := GuiAddIPAddress(GuiID, 146, 150, 150, 20)
Gui, Add, Text, x25 y183 w120 h20, Default Gateway:
Default_Gateway := GuiAddIPAddress(GuiID, 146, 180, 150, 20)
Gui, Add, Text, x25 y213 w120 h20, Preferred DNS:
Preferred_DNS := GuiAddIPAddress(GuiID, 146, 210, 150, 20)
Gui, Add, Text, x25 y243 w120 h20, Alternate DNS:
Alternate_DNS := GuiAddIPAddress(GuiID, 146, 240, 150, 20)
Gui, Add, Text, x25 y273 w120 h20, Preferred WINS:
Preferred_WINS := GuiAddIPAddress(GuiID, 146, 270, 150, 20)
Gui, Add, Text, x25 y303 w120 h20, Alternate WINS:
Alternate_WINS := GuiAddIPAddress(GuiID, 146, 300, 150, 20)
Gui, Add, Picture, x15 y351 Icon89, C:\WINDOWS\system32\SHELL32.dll
Gui, Add, Picture, x278 y351 Icon89, C:\WINDOWS\system32\SHELL32.dll
Gui, Font, s16
Gui, Add, Button, x62 y348 w200 h35 Default vButton, APPLY
;GuiControl, Disable, Button
Gui, Show, Center h395 w325, NetChange
Return



LAN_Name:
Gui, Submit, NoHide
GuiControlGet, LAN_Name, , ComboBox1
IfExist, %A_WinDir%\NetChange.ini
   	FileRead, INI_Content, %A_WinDir%\NetChange.ini
Else
   	Return
IfInString, INI_Content, [%LAN_Name%]
   	{
      		IniRead, IP_Address_1, %A_WinDir%\NetChange.ini, %LAN_Name%, IP_Address
      		IniRead, Subnet_Mask_1, %A_WinDir%\NetChange.ini, %LAN_Name%, Subnet_Mask
      		IniRead, Default_Gateway_1, %A_WinDir%\NetChange.ini, %LAN_Name%, Default_Gateway
      		IniRead, Preferred_DNS_1, %A_WinDir%\NetChange.ini, %LAN_Name%, Preferred_DNS
      		IniRead, Alternate_DNS_1, %A_WinDir%\NetChange.ini, %LAN_Name%, Alternate_DNS
      		IniRead, Preferred_WINS_1, %A_WinDir%\NetChange.ini, %LAN_Name%, Preferred_WINS
      		IniRead, Alternate_WINS_1, %A_WinDir%\NetChange.ini, %LAN_Name%, Alternate_WINS
      		IPAddress_SetAddress(IP_Address, IP_Address_1)
      		IPAddress_SetAddress(Subnet_Mask, Subnet_Mask_1)
      		IPAddress_SetAddress(Default_Gateway, Default_Gateway_1)
      		IPAddress_SetAddress(Preferred_DNS, Preferred_DNS_1)
      		IPAddress_SetAddress(Alternate_DNS, Alternate_DNS_1)
      		IPAddress_SetAddress(Preferred_WINS, Preferred_WINS_1)
      		IPAddress_SetAddress(Alternate_WINS, Alternate_WINS_1)
   	}
Else
   	{
      		IPAddress_ClearAddress(IP_Address)
      		IPAddress_ClearAddress(Subnet_Mask)
      		IPAddress_ClearAddress(Default_Gateway)
      		IPAddress_ClearAddress(Preferred_DNS)
      		IPAddress_ClearAddress(Alternate_DNS)
      		IPAddress_ClearAddress(Preferred_WINS)
      		IPAddress_ClearAddress(Alternate_WINS)
   	}
Return



DHCP:
Loop, 7
   	Control %Able%, , SysIPAddress32%A_Index%, ahk_id %GuiID%
If Able = Disable
   	Able = Enable
Else
   	Able = Disable
Return



ButtonApply:
Gui, Submit, NoHide
IPAddress := GuiControlGetIPAddress(IP_Address)
;GuiControlGetIPAddress(IP_Address)
;IP_Address = %Var%
GuiControlGetIPAddress(Subnet_Mask)
Subnet_Mask = %Var%
GuiControlGetIPAddress(Default_Gateway)
Default_Gateway = %Var%
GuiControlGetIPAddress(Preferred_DNS)
Preferred_DNS = %Var%
GuiControlGetIPAddress(Alternate_DNS)
Alternate_DNS = %Var%
GuiControlGetIPAddress(Preferred_WINS)
Preferred_WINS = %Var%
GuiControlGetIPAddress(Alternate_WINS)
Alternate_WINS = %Var%



;**************************************************************************************************
Msgbox, IP Address - %IPAddress%`nSubnet Mask - %Subnet_Mask%`nDefault Gateway - %Default_Gateway%
Return
;**************************************************************************************************



GuiControl, Hide, Button

If DHCP = 1
	{
      		FileAppend,
      		( LTrim
      		netsh interface ip set address "%LAN_Name%" dhcp
      		netsh interface ip set dns "%LAN_Name%" dhcp
      		netsh interface ip set wins "%LAN_Name%" dhcp
		echo>>NetChange2.tmp
      		), NetChange.bat
		Goto, End
   	}
If DHCP = 0
   	{
      		FileAppend,
      		( LTrim
      		netsh interface ip set address "%LAN_Name%" static %IP_Address% %Subnet_Mask% %Default_Gateway% 1   
      		netsh interface ip set dns "%LAN_Name%" static %Preferred_DNS%
      		netsh interface ip set wins "%LAN_Name%" static %Preferred_WINS%
      		netsh interface ip add dns "%LAN_Name%" %Alternate_DNS% index=2
      		netsh interface ip add wins "%LAN_Name%" %Alternate_WINS% index=2
		echo>>NetChange2.tmp
      		), NetChange.bat
      		IniWrite, %IP_Address%, %A_WinDir%\NetChange.ini, %LAN_Name%, IP_Address
      		IniWrite, %Subnet_Mask%, %A_WinDir%\NetChange.ini, %LAN_Name%, Subnet_Mask
      		IniWrite, %Default_Gateway%, %A_WinDir%\NetChange.ini, %LAN_Name%, Default_Gateway
      		IniWrite, %Preferred_DNS%, %A_WinDir%\NetChange.ini, %LAN_Name%, Preferred_DNS
      		IniWrite, %Alternate_DNS%, %A_WinDir%\NetChange.ini, %LAN_Name%, Alternate_DNS
      		IniWrite, %Preferred_WINS%, %A_WinDir%\NetChange.ini, %LAN_Name%, Preferred_WINS
      		IniWrite, %Alternate_WINS%, %A_WinDir%\NetChange.ini, %LAN_Name%, Alternate_WINS
		Goto, End
   	}
Return



End:
;Run, NetChange.bat, , Hide
Gui, Font, s12 Bold
Gui, Add, Text, x65 y355 cRed vText w200 h40, Applying Changes
Gui, Submit, NoHide
Sleep, 500
Loop:
Progress = Applying Changes
Loop
	{
		If A_Index = 2
			Progress = Applying Changes.
		If A_Index = 3
			Progress = Applying Changes. .
		If A_Index = 4
			Progress = Applying Changes. . .
		If A_Index = 5
			Progress = Applying Changes. . . .
		If A_Index = 6
			Progress = Applying Changes. . . . .
		If A_Index = 7
			Progress = Applying Changes. . . . . .
		GuiControl, , Static11, %Progress%
		IfExist, NetChange2.tmp
			Break
		Sleep, 500
		If A_Index = 7
			Goto, Loop
	}
Gui, Font, s14 cRed Bold
GuiControl, Font, Text
GuiControl, Move, Text, x70 y355
GuiControl, , Static11, Changes Complete!
Return

GuiClose:
FileDelete, NetChange.tmp
FileDelete, NetChange1.tmp
FileDelete, NetChange2.tmp
FileDelete, NetChange.bat
ExitApp



GuiAddIPAddress(_guiHwnd, _x, _y, _w, _h)
	{
   		local hInstance, structICCE, ipaHwnd, ipaInstance
   		local msg
   		hInstance := DllCall("GetWindowLong"
            		, "UInt", _guiHwnd
            		, "Int", GWL_HINSTANCE)
   		VarSetCapacity(structICCE, ICCE_size)
      		SetNextUInt(structICCE, ICCE_size, true)
      		SetNextUInt(structICCE, ICC_INTERNET_CLASSES)
      		DllCall("InitCommonControlsEx", "UInt", &structICCE)
   		ipaHwnd := DLLCall("CreateWindowEx"
            		, "UInt", 0                     
            		, "Str", "SysIPAddress32"       
            		, "UInt", 0                   
            		, "UInt", WS_CHILD | WS_VISIBLE
            		, "Int", _x                     
            		, "Int", _y                     
            		, "Int", _w                     
            		, "Int", _h                     
            		, "UInt", _guiHwnd             
            		, "UInt", 0                   
            		, "UInt", hInstance           
            		, "UInt", 0)                   
      		If (ErrorLevel != 0 or ipaHwnd = 0)
         		{
               			msg = %msg% Cannot create IP Address control (%ErrorLevel%/%A_LastError%)
               			Gosub GuiAddIPAddressddress_CleanUp
               			Return msg
         		}
   		Gosub GuiAddIPAddressddress_CleanUp
   		Return ipaHwnd
   		GuiAddIPAddressddress_CleanUp:
   		Return
	}
Return



GuiControlGetIPAddress(_ipaHwnd, mode="")
	{
      		local ipAddress, a
   		If (_ipaHwnd = 0)
            		Return
   		binIPAddress = 0000
      		SendMessage IPM_GETADDRESS, 0, &binIPAddress, , ahk_id %_ipaHwnd%
      		If ErrorLevel = FAIL
            		Return
      		a := &binIPAddress
   		If (SubStr(mode, 1, 1) = "i")
            		Return *a + (*(a + 1) << 8) +  (*(a + 2) << 16) + (*(a + 3) << 24)
      		Else   
            		Var := *(a + 3) . "." . *(a + 2) . "." . *(a + 1) . "." . *a
	}
Return



 
IPAddress_SetAddress(_ipaHwnd, _ipAddress)
	{
   		local binIPAddress
   		If (_ipaHwnd = 0)
            		Return
   		binIPAddress := 0
      		Loop, Parse, _ipAddress, .
      			{
            			binIPAddress |= A_LoopField << 8*(4 - A_Index)
      			}
   		SendMessage, IPM_SETADDRESS, 0, binIPAddress, , ahk_id %_ipaHwnd%
	}
Return



IPAddress_ClearAddress(_ipaHwnd) 
	{ 
   		SendMessage 1124, 0, 0, , ahk_id %_ipaHwnd% 
	} 
Return



SetNextUInt(ByRef @struct, _value, _bReset=false)
	{
      		local addr
      		static $offset
   		If (_bReset)
      			{
            			$offset := 0
      			}
      		addr := &@struct + $offset
      		$offset += 4
      		DllCall("RtlFillMemory", "UInt", addr,     "UInt", 1, "UChar", (_value & 0x000000FF))
      		DllCall("RtlFillMemory", "UInt", addr + 1, "UInt", 1, "UChar", (_value & 0x0000FF00) >> 8)
      		DllCall("RtlFillMemory", "UInt", addr + 2, "UInt", 1, "UChar", (_value & 0x00FF0000) >> 16)
      		DllCall("RtlFillMemory", "UInt", addr + 3, "UInt", 1, "UChar", (_value & 0xFF000000) >> 24)
	}
Return


HTH...

DeWild1
  • Members
  • 369 posts
  • Last active: Feb 28 2014 08:15 PM
  • Joined: 30 Apr 2006
aCkRiTe, Please do not tell me you just made that! :x
I will be jealous and angry that God did not bless me with your talents! Holly cow..

On Vista, got this,
Posted Image

Have not tried on XP yet, but dang! Looks like some really interesting code.

jaco0646,
I will try your code now.
Thank you both. The other tools on the Net did not work.
Via your code, I should be able figure it out and script it for my needs for my techs and different networks.

DeWild1
  • Members
  • 369 posts
  • Last active: Feb 28 2014 08:15 PM
  • Joined: 30 Apr 2006
aCkRiTe, I am sure the problem is something simple, but may I suggest you SELL it! 8)
It is very pretty and cool.
If you add profiles and groups like other apps I have seen, you should really sell it!

jaco0646;
Exactly what I was looking for! I spent 1/2 of yesterday reading forums and trying to figure it out, the other half looking for a third party app that would do it, (an app for $60 was the only one I found that came close on Softpedia.com), and most of this morning trying to fix the problems that came from trying to use all the third party apps.. (Dam Vista) :evil:

I can read it and modify it as I need.
Thank you. It works perfect!

aCkRiTe
  • Members
  • 577 posts
  • Last active: Jun 21 2013 11:01 PM
  • Joined: 21 Jul 2006

aCkRiTe, I am sure the problem is something simple, but may I suggest you SELL it! 8)
It is very pretty and cool.
If you add profiles and groups like other apps I have seen, you should really sell it!


Well thank you. Like I said I started the script a while back and cant remember if its a completed product(I dont think it is). I received a lot of help from PhiLho with this script. You can do with it as you please. I might one day finish it up and post it in the scripts and functions section, but Ive been a little busy and havent been around the forum lately, I stop by every once in a while though. By the way I got the idea from here - <!-- m -->http://www.lyrasoftware.com<!-- m --> There is a free netchange download there that might be of interest to you. I just wanted to see if I could do it with AHK.

HTH...

ahklerner
  • Members
  • 1386 posts
  • Last active: Oct 08 2014 10:29 AM
  • Joined: 26 Jun 2006
there are also Yahoo Widgets to do the same thing. (free $, not lightweight though)
Posted Image
ʞɔпɟ əɥʇ ʇɐɥʍ

jaco0646
  • Moderators
  • 3165 posts
  • Last active: Apr 01 2014 01:46 AM
  • Joined: 07 Oct 2006
DeWild1, I just noticed that the systeminfo command returns the status of network cards. It may be useful in your script.

EDIT: The ipconfig command gives this info as well.

AVGuy
  • Guests
  • Last active:
  • Joined: --
I've been working on a similar utility, but didn't find this post until now. My version has a few presets built in, and will show the current ip, also, given the selected network adapter.

I'm new to writing code, so please forgive the crude writing, and lack of looping which makes for redundant lists.

I incorporated the code from this post that creates the drop down list of the computer's network adapters, but it changed how I could find the current ip. I can no longer use the A_IPAddress"n" command, like I was. I now need a way to find the IP based on the name of the network adapter.

Any ideas?

Please feel free to modify my script and give feedback.

#NoTrayIcon
#SingleInstance force


IfNotExist, C:\AutoIPPresets.txt
FileAppend,
(
Preset 3
000
000
000
000
Preset 4
000
000
000
000
Preset 5
000
000
000
000
Preset 6
000
000
000
000
Preset 7
000
000
000
000
Preset 8
000
000
000
000
Preset 9
000
000
000
000
Preset 10
000
000
000
000
Preset 11
000
000
000
000
Preset 12
000
000
000
000
Preset 13
000
000
000
000
Preset 14
000
000
000
000
Preset 15
000
000
000
000
Preset 16
000
000
000
000
Preset 17
000
000
000
000
Preset 18
000
000
000
000
Preset 19
000
000
000
000
Preset 20
000
000
000
000
8000
Local Area Connection
),C:\AutoIPPresets.txt



FileReadLine, Preset3Name, C:\AutoIPPresets.txt, 1
FileReadLine, Preset3Octet1, C:\AutoIPPresets.txt, 2
FileReadLine, Preset3Octet2, C:\AutoIPPresets.txt, 3
FileReadLine, Preset3Octet3, C:\AutoIPPresets.txt, 4
FileReadLine, Preset3Octet4, C:\AutoIPPresets.txt, 5
FileReadLine, Preset4Name, C:\AutoIPPresets.txt, 6
FileReadLine, Preset4Octet1, C:\AutoIPPresets.txt, 7
FileReadLine, Preset4Octet2, C:\AutoIPPresets.txt, 8
FileReadLine, Preset4Octet3, C:\AutoIPPresets.txt, 9
FileReadLine, Preset4Octet4, C:\AutoIPPresets.txt, 10
FileReadLine, Preset5Name, C:\AutoIPPresets.txt, 11
FileReadLine, Preset5Octet1, C:\AutoIPPresets.txt, 12
FileReadLine, Preset5Octet2, C:\AutoIPPresets.txt, 13
FileReadLine, Preset5Octet3, C:\AutoIPPresets.txt, 14
FileReadLine, Preset5Octet4, C:\AutoIPPresets.txt, 15
FileReadLine, Preset6Name, C:\AutoIPPresets.txt, 16
FileReadLine, Preset6Octet1, C:\AutoIPPresets.txt, 17
FileReadLine, Preset6Octet2, C:\AutoIPPresets.txt, 18
FileReadLine, Preset6Octet3, C:\AutoIPPresets.txt, 19
FileReadLine, Preset6Octet4, C:\AutoIPPresets.txt, 20
FileReadLine, Preset7Name, C:\AutoIPPresets.txt, 21
FileReadLine, Preset7Octet1, C:\AutoIPPresets.txt, 22
FileReadLine, Preset7Octet2, C:\AutoIPPresets.txt, 23
FileReadLine, Preset7Octet3, C:\AutoIPPresets.txt, 24
FileReadLine, Preset7Octet4, C:\AutoIPPresets.txt, 25
FileReadLine, Preset8Name, C:\AutoIPPresets.txt, 26
FileReadLine, Preset8Octet1, C:\AutoIPPresets.txt, 27
FileReadLine, Preset8Octet2, C:\AutoIPPresets.txt, 28
FileReadLine, Preset8Octet3, C:\AutoIPPresets.txt, 29
FileReadLine, Preset8Octet4, C:\AutoIPPresets.txt, 30
FileReadLine, Preset9Name, C:\AutoIPPresets.txt, 31
FileReadLine, Preset9Octet1, C:\AutoIPPresets.txt, 32
FileReadLine, Preset9Octet2, C:\AutoIPPresets.txt, 33
FileReadLine, Preset9Octet3, C:\AutoIPPresets.txt, 34
FileReadLine, Preset9Octet4, C:\AutoIPPresets.txt, 35
FileReadLine, Preset10Name, C:\AutoIPPresets.txt, 36
FileReadLine, Preset10Octet1, C:\AutoIPPresets.txt, 37
FileReadLine, Preset10Octet2, C:\AutoIPPresets.txt, 38
FileReadLine, Preset10Octet3, C:\AutoIPPresets.txt, 39
FileReadLine, Preset10Octet4, C:\AutoIPPresets.txt, 40
FileReadLine, Preset11Name, C:\AutoIPPresets.txt, 41
FileReadLine, Preset11Octet1, C:\AutoIPPresets.txt, 42
FileReadLine, Preset11Octet2, C:\AutoIPPresets.txt, 43
FileReadLine, Preset11Octet3, C:\AutoIPPresets.txt, 44
FileReadLine, Preset11Octet4, C:\AutoIPPresets.txt, 45
FileReadLine, Preset12Name, C:\AutoIPPresets.txt, 46
FileReadLine, Preset12Octet1, C:\AutoIPPresets.txt, 47
FileReadLine, Preset12Octet2, C:\AutoIPPresets.txt, 48
FileReadLine, Preset12Octet3, C:\AutoIPPresets.txt, 49
FileReadLine, Preset12Octet4, C:\AutoIPPresets.txt, 50
FileReadLine, Preset13Name, C:\AutoIPPresets.txt, 51
FileReadLine, Preset13Octet1, C:\AutoIPPresets.txt, 52
FileReadLine, Preset13Octet2, C:\AutoIPPresets.txt, 53
FileReadLine, Preset13Octet3, C:\AutoIPPresets.txt, 54
FileReadLine, Preset13Octet4, C:\AutoIPPresets.txt, 55
FileReadLine, Preset14Name, C:\AutoIPPresets.txt, 56
FileReadLine, Preset14Octet1, C:\AutoIPPresets.txt, 57
FileReadLine, Preset14Octet2, C:\AutoIPPresets.txt, 58
FileReadLine, Preset14Octet3, C:\AutoIPPresets.txt, 59
FileReadLine, Preset14Octet4, C:\AutoIPPresets.txt, 60
FileReadLine, Preset15Name, C:\AutoIPPresets.txt, 61
FileReadLine, Preset15Octet1, C:\AutoIPPresets.txt, 62
FileReadLine, Preset15Octet2, C:\AutoIPPresets.txt, 63
FileReadLine, Preset15Octet3, C:\AutoIPPresets.txt, 64
FileReadLine, Preset15Octet4, C:\AutoIPPresets.txt, 65
FileReadLine, Preset16Name, C:\AutoIPPresets.txt, 66
FileReadLine, Preset16Octet1, C:\AutoIPPresets.txt, 67
FileReadLine, Preset16Octet2, C:\AutoIPPresets.txt, 68
FileReadLine, Preset16Octet3, C:\AutoIPPresets.txt, 69
FileReadLine, Preset16Octet4, C:\AutoIPPresets.txt, 70
FileReadLine, Preset17Name, C:\AutoIPPresets.txt, 71
FileReadLine, Preset17Octet1, C:\AutoIPPresets.txt, 72
FileReadLine, Preset17Octet2, C:\AutoIPPresets.txt, 73
FileReadLine, Preset17Octet3, C:\AutoIPPresets.txt, 74
FileReadLine, Preset17Octet4, C:\AutoIPPresets.txt, 75
FileReadLine, Preset18Name, C:\AutoIPPresets.txt, 76
FileReadLine, Preset18Octet1, C:\AutoIPPresets.txt, 77
FileReadLine, Preset18Octet2, C:\AutoIPPresets.txt, 78
FileReadLine, Preset18Octet3, C:\AutoIPPresets.txt, 79
FileReadLine, Preset18Octet4, C:\AutoIPPresets.txt, 80
FileReadLine, Preset19Name, C:\AutoIPPresets.txt, 81
FileReadLine, Preset19Octet1, C:\AutoIPPresets.txt, 82
FileReadLine, Preset19Octet2, C:\AutoIPPresets.txt, 83
FileReadLine, Preset19Octet3, C:\AutoIPPresets.txt, 84
FileReadLine, Preset19Octet4, C:\AutoIPPresets.txt, 85
FileReadLine, Preset20Name, C:\AutoIPPresets.txt, 86
FileReadLine, Preset20Octet1, C:\AutoIPPresets.txt, 87
FileReadLine, Preset20Octet2, C:\AutoIPPresets.txt, 88
FileReadLine, Preset20Octet3, C:\AutoIPPresets.txt, 89
FileReadLine, Preset20Octet4, C:\AutoIPPresets.txt, 90
FileReadLine, Sleep, C:\AutoIPPresets.txt, 91
FileReadLine, UserConnectionName, C:\AutoIPPresets.txt, 92



SetWorkingDir, C:\
FileDelete, NetChange.txt
FileDelete, NetChange1.txt
FileDelete, NetChange.bat
RunWait, %Comspec% /c netsh interface show interface >>NetChange.txt, , 
Loop, Read, NetChange.txt
   {
      StringReplace, Delimiter, A_LoopReadLine, Dedicated, §, UseErrorLevel
      If ErrorLevel = 0
         Continue
      Loop, Parse, Delimiter, §
         {
            If A_LoopField not contains able
               {
                  StringReplace, LAN_Name, A_LoopField, %A_Space%%A_Space%, , All
                  FileAppend, %LAN_Name%|, NetChange1.txt
                  LAN_Cnt++
               }
         }
   }
FileDelete, NetChange.txt
FileRead, Var, NetChange1.txt
StringTrimRight, Var, Var, 1
FileAppend, %Var%, NetChange.txt
FileRead, LAN, NetChange.txt
FileDelete, NetChange1.txt

Goto, Submit



Main:
{
CurrentIP = %UserConnectionName%

Gui, Destroy

Gui, Add, Button, w250 x20 y20 gButton1, DHCP
Gui, Add, Button, w250 x20 y60 gButton2, One Time User Defined

Gui, Add, Button, w250 x20 y100 gButton3, 

%Preset3Name%___%Preset3Octet1%.%Preset3Octet2%.%Preset3Octet3%.%Preset3Octet4%
Gui, Add, Button, w250 x20 y140 gButton4, 

%Preset4Name%___%Preset4Octet1%.%Preset4Octet2%.%Preset4Octet3%.%Preset4Octet4%
Gui, Add, Button, w250 x20 y180 gButton5, 

%Preset5Name%___%Preset5Octet1%.%Preset5Octet2%.%Preset5Octet3%.%Preset5Octet4%
Gui, Add, Button, w250 x20 y220 gButton6, 

%Preset6Name%___%Preset6Octet1%.%Preset6Octet2%.%Preset6Octet3%.%Preset6Octet4%
Gui, Add, Button, w250 x20 y260 gButton7, 

%Preset7Name%___%Preset7Octet1%.%Preset7Octet2%.%Preset7Octet3%.%Preset7Octet4%
Gui, Add, Button, w250 x20 y300 gButton8, 

%Preset8Name%___%Preset8Octet1%.%Preset8Octet2%.%Preset8Octet3%.%Preset8Octet4%
Gui, Add, Button, w250 x20 y340 gButton9, 

%Preset9Name%___%Preset9Octet1%.%Preset9Octet2%.%Preset9Octet3%.%Preset9Octet4%
Gui, Add, Button, w250 x20 y380 gButton10, 

%Preset10Name%___%Preset10Octet1%.%Preset10Octet2%.%Preset10Octet3%.%Preset10Octet4%
Gui, Add, Button, w250 x300 y20 gButton11, 

%Preset11Name%___%Preset11Octet1%.%Preset11Octet2%.%Preset11Octet3%.%Preset11Octet4%
Gui, Add, Button, w250 x300 y60 gButton12, 

%Preset12Name%___%Preset12Octet1%.%Preset12Octet2%.%Preset12Octet3%.%Preset12Octet4%
Gui, Add, Button, w250 x300 y100 gButton13, 

%Preset13Name%___%Preset13Octet1%.%Preset13Octet2%.%Preset13Octet3%.%Preset13Octet4%
Gui, Add, Button, w250 x300 y140 gButton14, 

%Preset14Name%___%Preset14Octet1%.%Preset14Octet2%.%Preset14Octet3%.%Preset14Octet4%
Gui, Add, Button, w250 x300 y180 gButton15, 

%Preset15Name%___%Preset15Octet1%.%Preset15Octet2%.%Preset15Octet3%.%Preset15Octet4%
Gui, Add, Button, w250 x300 y220 gButton16, 

%Preset16Name%___%Preset16Octet1%.%Preset16Octet2%.%Preset16Octet3%.%Preset16Octet4%
Gui, Add, Button, w250 x300 y260 gButton17, 

%Preset17Name%___%Preset17Octet1%.%Preset17Octet2%.%Preset17Octet3%.%Preset17Octet4%
Gui, Add, Button, w250 x300 y300 gButton18, 

%Preset18Name%___%Preset18Octet1%.%Preset18Octet2%.%Preset18Octet3%.%Preset18Octet4%
Gui, Add, Button, w250 x300 y340 gButton19, 

%Preset19Name%___%Preset19Octet1%.%Preset19Octet2%.%Preset19Octet3%.%Preset19Octet4%
Gui, Add, Button, w250 x300 y380 gButton20, 

%Preset20Name%___%Preset20Octet1%.%Preset20Octet2%.%Preset20Octet3%.%Preset20Octet4%
Gui, Add, Button, w100 x100 y425 gPresets, Settings
Gui, Add, Button, w100 x235 y420 gNetworkConnections, Network Connections
Gui, Add, Button, w100 x370 y425 gCancel, Cancel
Gui, Add, DropDownList, gRefreshCurrentIP R%LAN_Cnt% w250 x20 y471 vUserConnectionName, %LAN%
GuiControl, Choose, ComboBox1, %UserConnectionName%
Gui, Add, Button, 0x1 w250 x300 y470 gRefreshCurrentIP, Current IP: %CurrentIP%
Gui, Add, Text, x363 y498, Click to Refresh Current IP
Gui, Add, Text, x70 y498, Select Desired Network Adapter
Gui, Add, Button, w20 x276 y495 gGeneralHelp, ?
Gui, Show, w570 h520, Choose IP, AutoSize, Center,
DisableCloseButton()
}
return

GeneralHelp:
{
MsgBox, , Using AutoIP, AutoIP is a .exe file which refers to two text files it creates in the 

root directory of your C drive (AutoIPPresets.txt, and AutoIPPresetsBackup.txt). To completely 

remove, just delete these two text files, as well as AutoIP.exe. This program is only meant to run 

on Windows XP. If you have questions or comments please write to me at [email protected] or 

visit www.wavendeavor.com/AutoIP.html NOTE: duplicate adapter names need to all have numbers for 

proper recall
}
return

RefreshCurrentIP:
{
Gui, Submit

FileDelete, C:\AutoIPPresets.txt

FileAppend,
(
%Preset3Name%
%Preset3Octet1%
%Preset3Octet2%
%Preset3Octet3%
%Preset3Octet4%
%Preset4Name%
%Preset4Octet1%
%Preset4Octet2%
%Preset4Octet3%
%Preset4Octet4%
%Preset5Name%
%Preset5Octet1%
%Preset5Octet2%
%Preset5Octet3%
%Preset5Octet4%
%Preset6Name%
%Preset6Octet1%
%Preset6Octet2%
%Preset6Octet3%
%Preset6Octet4%
%Preset7Name%
%Preset7Octet1%
%Preset7Octet2%
%Preset7Octet3%
%Preset7Octet4%
%Preset8Name%
%Preset8Octet1%
%Preset8Octet2%
%Preset8Octet3%
%Preset8Octet4%
%Preset9Name%
%Preset9Octet1%
%Preset9Octet2%
%Preset9Octet3%
%Preset9Octet4%
%Preset10Name%
%Preset10Octet1%
%Preset10Octet2%
%Preset10Octet3%
%Preset10Octet4%
%Preset11Name%
%Preset11Octet1%
%Preset11Octet2%
%Preset11Octet3%
%Preset11Octet4%
%Preset12Name%
%Preset12Octet1%
%Preset12Octet2%
%Preset12Octet3%
%Preset12Octet4%
%Preset13Name%
%Preset13Octet1%
%Preset13Octet2%
%Preset13Octet3%
%Preset13Octet4%
%Preset14Name%
%Preset14Octet1%
%Preset14Octet2%
%Preset14Octet3%
%Preset14Octet4%
%Preset15Name%
%Preset15Octet1%
%Preset15Octet2%
%Preset15Octet3%
%Preset15Octet4%
%Preset16Name%
%Preset16Octet1%
%Preset16Octet2%
%Preset16Octet3%
%Preset16Octet4%
%Preset17Name%
%Preset17Octet1%
%Preset17Octet2%
%Preset17Octet3%
%Preset17Octet4%
%Preset18Name%
%Preset18Octet1%
%Preset18Octet2%
%Preset18Octet3%
%Preset18Octet4%
%Preset19Name%
%Preset19Octet1%
%Preset19Octet2%
%Preset19Octet3%
%Preset19Octet4%
%Preset20Name%
%Preset20Octet1%
%Preset20Octet2%
%Preset20Octet3%
%Preset20Octet4%
%Sleep%
%UserConnectionName%
),C:\AutoIPPresets.txt

Goto, Main

}
return

About:
{
MsgBox, , About AutoIP, AutoIP v.2 beta, 2009. Created by David Emmert  www.wavendeavor.com
}
return

Presets:
{
Gui, Destroy

Gui, 2:Add, Text, x40 y10, Name
Gui, 2:Add, Text, x200 y10, IP
Gui, 2:Add, Button, w100 x350 y10 gAbout, About AutoIP

Gui, 2:Add, Text, x25 y30, 1
Gui, 2:Add, Text, cGray x40 y30, DHCP
Gui, 2:Add, Text, x25 y50, 2
Gui, 2:Add, Text, cGray X40 y50, One Time User Defined
Gui, 2:Add, Text, x25 y75, 3
Gui, 2:Add, Edit, w150 X40 y70 vPreset3Name, %Preset3Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y70 vPreset3Octet1, %Preset3Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y70 vPreset3Octet2, %Preset3Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y70 vPreset3Octet3, %Preset3Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y70 vPreset3Octet4, %Preset3Octet4%
Gui, 2:Add, Text, x25 y95, 4
Gui, 2:Add, Edit, w150 X40 y90 vPreset4Name, %Preset4Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y90 vPreset4Octet1, %Preset4Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y90 vPreset4Octet2, %Preset4Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y90 vPreset4Octet3, %Preset4Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y90 vPreset4Octet4, %Preset4Octet4%
Gui, 2:Add, Text, x25 y115, 5
Gui, 2:Add, Edit, w150 X40 y110 vPreset5Name, %Preset5Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y110 vPreset5Octet1, %Preset5Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y110 vPreset5Octet2, %Preset5Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y110 vPreset5Octet3, %Preset5Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y110 vPreset5Octet4, %Preset5Octet4%
Gui, 2:Add, Text, x25 y135, 6
Gui, 2:Add, Edit, w150 X40 y130 vPreset6Name, %Preset6Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y130 vPreset6Octet1, %Preset6Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y130 vPreset6Octet2, %Preset6Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y130 vPreset6Octet3, %Preset6Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y130 vPreset6Octet4, %Preset6Octet4%
Gui, 2:Add, Text, x25 y155, 7
Gui, 2:Add, Edit, w150 X40 y150 vPreset7Name, %Preset7Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y150 vPreset7Octet1, %Preset7Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y150 vPreset7Octet2, %Preset7Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y150 vPreset7Octet3, %Preset7Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y150 vPreset7Octet4, %Preset7Octet4%
Gui, 2:Add, Text, x25 y175, 8
Gui, 2:Add, Edit, w150 X40 y170 vPreset8Name, %Preset8Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y170 vPreset8Octet1, %Preset8Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y170 vPreset8Octet2, %Preset8Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y170 vPreset8Octet3, %Preset8Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y170 vPreset8Octet4, %Preset8Octet4%
Gui, 2:Add, Text, x25 y195, 9
Gui, 2:Add, Edit, w150 X40 y190 vPreset9Name, %Preset9Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y190 vPreset9Octet1, %Preset9Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y190 vPreset9Octet2, %Preset9Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y190 vPreset9Octet3, %Preset9Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y190 vPreset9Octet4, %Preset9Octet4%
Gui, 2:Add, Text, x25 y215, 10
Gui, 2:Add, Edit, w150 X40 y210 vPreset10Name, %Preset10Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y210 vPreset10Octet1, %Preset10Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y210 vPreset10Octet2, %Preset10Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y210 vPreset10Octet3, %Preset10Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y210 vPreset10Octet4, %Preset10Octet4%
Gui, 2:Add, Text, x25 y235, 11
Gui, 2:Add, Edit, w150 X40 y230 vPreset11Name, %Preset11Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y230 vPreset11Octet1, %Preset11Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y230 vPreset11Octet2, %Preset11Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y230 vPreset11Octet3, %Preset11Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y230 vPreset11Octet4, %Preset11Octet4%
Gui, 2:Add, Text, x25 y255, 12
Gui, 2:Add, Edit, w150 X40 y250 vPreset12Name, %Preset12Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y250 vPreset12Octet1, %Preset12Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y250 vPreset12Octet2, %Preset12Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y250 vPreset12Octet3, %Preset12Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y250 vPreset12Octet4, %Preset12Octet4%
Gui, 2:Add, Text, x25 y275, 13
Gui, 2:Add, Edit, w150 X40 y270 vPreset13Name, %Preset13Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y270 vPreset13Octet1, %Preset13Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y270 vPreset13Octet2, %Preset13Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y270 vPreset13Octet3, %Preset13Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y270 vPreset13Octet4, %Preset13Octet4%
Gui, 2:Add, Text, x25 y295, 14
Gui, 2:Add, Edit, w150 X40 y290 vPreset14Name, %Preset14Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y290 vPreset14Octet1, %Preset14Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y290 vPreset14Octet2, %Preset14Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y290 vPreset14Octet3, %Preset14Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y290 vPreset14Octet4, %Preset14Octet4%
Gui, 2:Add, Text, x25 y315, 15
Gui, 2:Add, Edit, w150 X40 y310 vPreset15Name, %Preset15Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y310 vPreset15Octet1, %Preset15Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y310 vPreset15Octet2, %Preset15Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y310 vPreset15Octet3, %Preset15Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y310 vPreset15Octet4, %Preset15Octet4%
Gui, 2:Add, Text, x25 y335, 16
Gui, 2:Add, Edit, w150 X40 y330 vPreset16Name, %Preset16Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y330 vPreset16Octet1, %Preset16Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y330 vPreset16Octet2, %Preset16Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y330 vPreset16Octet3, %Preset16Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y330 vPreset16Octet4, %Preset16Octet4%
Gui, 2:Add, Text, x25 y355, 17
Gui, 2:Add, Edit, w150 X40 y350 vPreset17Name, %Preset17Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y350 vPreset17Octet1, %Preset17Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y350 vPreset17Octet2, %Preset17Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y350 vPreset17Octet3, %Preset17Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y350 vPreset17Octet4, %Preset17Octet4%
Gui, 2:Add, Text, x25 y375, 18
Gui, 2:Add, Edit, w150 X40 y370 vPreset18Name, %Preset18Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y370 vPreset18Octet1, %Preset18Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y370 vPreset18Octet2, %Preset18Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y370 vPreset18Octet3, %Preset18Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y370 vPreset18Octet4, %Preset18Octet4%
Gui, 2:Add, Text, x25 y395, 19
Gui, 2:Add, Edit, w150 X40 y390 vPreset19Name, %Preset19Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y390 vPreset19Octet1, %Preset19Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y390 vPreset19Octet2, %Preset19Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y390 vPreset19Octet3, %Preset19Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y390 vPreset19Octet4, %Preset19Octet4%
Gui, 2:Add, Text, x25 y415, 20
Gui, 2:Add, Edit, w150 X40 y410 vPreset20Name, %Preset20Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y410 vPreset20Octet1, %Preset20Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y410 vPreset20Octet2, %Preset20Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y410 vPreset20Octet3, %Preset20Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y410 vPreset20Octet4, %Preset20Octet4%


Gui, 2:Add, Text, x375 y80, Set Delay
Gui, 2:Add, Edit, w100 x350 y100 vSleep, %Sleep%
Gui, 2:Add, Button, w20 x380 y130 gDelayHelp, Help
Gui, 2:Add, Button, 0x1 w100 x350 y195 gSubmit, Submit
Gui, 2:Add, Button, w100 x350 y280 gCancel2, Cancel
Gui, 2:Add, Button, w100 x350 y352 gBackup, Backup
Gui, 2:Add, Button, w100 h40 x350 y380 gRestoreFromBackup, Restore from Backup
Gui, 2:Add, Text, x210 y433, Subnet is Automatic
Gui, 2:Show, w495 h560, Edit IP Presets, Autosize, Center
DisableCloseButton()
}
return

DisableCloseButton(hWnd="") {
 If hWnd=
    hWnd:=WinExist("A")
 hSysMenu:=DllCall("GetSystemMenu","Int",hWnd,"Int",FALSE)
 nCnt:=DllCall("GetMenuItemCount","Int",hSysMenu)
 DllCall("RemoveMenu","Int",hSysMenu,"UInt",nCnt-1,"Uint","0x400")
 DllCall("RemoveMenu","Int",hSysMenu,"UInt",nCnt-2,"Uint","0x400")
 DllCall("DrawMenuBar","Int",hWnd)
Return ""
}

Backup:
{
FileDelete, C:\AutoIPPresetsBackup.txt

FileAppend,
(
%Preset3Name%
%Preset3Octet1%
%Preset3Octet2%
%Preset3Octet3%
%Preset3Octet4%
%Preset4Name%
%Preset4Octet1%
%Preset4Octet2%
%Preset4Octet3%
%Preset4Octet4%
%Preset5Name%
%Preset5Octet1%
%Preset5Octet2%
%Preset5Octet3%
%Preset5Octet4%
%Preset6Name%
%Preset6Octet1%
%Preset6Octet2%
%Preset6Octet3%
%Preset6Octet4%
%Preset7Name%
%Preset7Octet1%
%Preset7Octet2%
%Preset7Octet3%
%Preset7Octet4%
%Preset8Name%
%Preset8Octet1%
%Preset8Octet2%
%Preset8Octet3%
%Preset8Octet4%
%Preset9Name%
%Preset9Octet1%
%Preset9Octet2%
%Preset9Octet3%
%Preset9Octet4%
%Preset10Name%
%Preset10Octet1%
%Preset10Octet2%
%Preset10Octet3%
%Preset10Octet4%
%Preset11Name%
%Preset11Octet1%
%Preset11Octet2%
%Preset11Octet3%
%Preset11Octet4%
%Preset12Name%
%Preset12Octet1%
%Preset12Octet2%
%Preset12Octet3%
%Preset12Octet4%
%Preset13Name%
%Preset13Octet1%
%Preset13Octet2%
%Preset13Octet3%
%Preset13Octet4%
%Preset14Name%
%Preset14Octet1%
%Preset14Octet2%
%Preset14Octet3%
%Preset14Octet4%
%Preset15Name%
%Preset15Octet1%
%Preset15Octet2%
%Preset15Octet3%
%Preset15Octet4%
%Preset16Name%
%Preset16Octet1%
%Preset16Octet2%
%Preset16Octet3%
%Preset16Octet4%
%Preset17Name%
%Preset17Octet1%
%Preset17Octet2%
%Preset17Octet3%
%Preset17Octet4%
%Preset18Name%
%Preset18Octet1%
%Preset18Octet2%
%Preset18Octet3%
%Preset18Octet4%
%Preset19Name%
%Preset19Octet1%
%Preset19Octet2%
%Preset19Octet3%
%Preset19Octet4%
%Preset20Name%
%Preset20Octet1%
%Preset20Octet2%
%Preset20Octet3%
%Preset20Octet4%
%Sleep%
%UserConnectionName%
),C:\AutoIPPresetsBackup.txt
FileSetAttrib, +H, C:\AutoIPPresetsBackup.txt
}
return

RestoreFromBackup:
{
FileReadLine, Preset3Name, C:\AutoIPPresetsBackup.txt, 1
FileReadLine, Preset3Octet1, C:\AutoIPPresetsBackup.txt, 2
FileReadLine, Preset3Octet2, C:\AutoIPPresetsBackup.txt, 3
FileReadLine, Preset3Octet3, C:\AutoIPPresetsBackup.txt, 4
FileReadLine, Preset3Octet4, C:\AutoIPPresetsBackup.txt, 5
FileReadLine, Preset4Name, C:\AutoIPPresetsBackup.txt, 6
FileReadLine, Preset4Octet1, C:\AutoIPPresetsBackup.txt, 7
FileReadLine, Preset4Octet2, C:\AutoIPPresetsBackup.txt, 8
FileReadLine, Preset4Octet3, C:\AutoIPPresetsBackup.txt, 9
FileReadLine, Preset4Octet4, C:\AutoIPPresetsBackup.txt, 10
FileReadLine, Preset5Name, C:\AutoIPPresetsBackup.txt, 11
FileReadLine, Preset5Octet1, C:\AutoIPPresetsBackup.txt, 12
FileReadLine, Preset5Octet2, C:\AutoIPPresetsBackup.txt, 13
FileReadLine, Preset5Octet3, C:\AutoIPPresetsBackup.txt, 14
FileReadLine, Preset5Octet4, C:\AutoIPPresetsBackup.txt, 15
FileReadLine, Preset6Name, C:\AutoIPPresetsBackup.txt, 16
FileReadLine, Preset6Octet1, C:\AutoIPPresetsBackup.txt, 17
FileReadLine, Preset6Octet2, C:\AutoIPPresetsBackup.txt, 18
FileReadLine, Preset6Octet3, C:\AutoIPPresetsBackup.txt, 19
FileReadLine, Preset6Octet4, C:\AutoIPPresetsBackup.txt, 20
FileReadLine, Preset7Name, C:\AutoIPPresetsBackup.txt, 21
FileReadLine, Preset7Octet1, C:\AutoIPPresetsBackup.txt, 22
FileReadLine, Preset7Octet2, C:\AutoIPPresetsBackup.txt, 23
FileReadLine, Preset7Octet3, C:\AutoIPPresetsBackup.txt, 24
FileReadLine, Preset7Octet4, C:\AutoIPPresetsBackup.txt, 25
FileReadLine, Preset8Name, C:\AutoIPPresetsBackup.txt, 26
FileReadLine, Preset8Octet1, C:\AutoIPPresetsBackup.txt, 27
FileReadLine, Preset8Octet2, C:\AutoIPPresetsBackup.txt, 28
FileReadLine, Preset8Octet3, C:\AutoIPPresetsBackup.txt, 29
FileReadLine, Preset8Octet4, C:\AutoIPPresetsBackup.txt, 30
FileReadLine, Preset9Name, C:\AutoIPPresetsBackup.txt, 31
FileReadLine, Preset9Octet1, C:\AutoIPPresetsBackup.txt, 32
FileReadLine, Preset9Octet2, C:\AutoIPPresetsBackup.txt, 33
FileReadLine, Preset9Octet3, C:\AutoIPPresetsBackup.txt, 34
FileReadLine, Preset9Octet4, C:\AutoIPPresetsBackup.txt, 35
FileReadLine, Preset10Name, C:\AutoIPPresetsBackup.txt, 36
FileReadLine, Preset10Octet1, C:\AutoIPPresetsBackup.txt, 37
FileReadLine, Preset10Octet2, C:\AutoIPPresetsBackup.txt, 38
FileReadLine, Preset10Octet3, C:\AutoIPPresetsBackup.txt, 39
FileReadLine, Preset10Octet4, C:\AutoIPPresetsBackup.txt, 40
FileReadLine, Preset11Name, C:\AutoIPPresetsBackup.txt, 41
FileReadLine, Preset11Octet1, C:\AutoIPPresetsBackup.txt, 42
FileReadLine, Preset11Octet2, C:\AutoIPPresetsBackup.txt, 43
FileReadLine, Preset11Octet3, C:\AutoIPPresetsBackup.txt, 44
FileReadLine, Preset11Octet4, C:\AutoIPPresetsBackup.txt, 45
FileReadLine, Preset12Name, C:\AutoIPPresetsBackup.txt, 46
FileReadLine, Preset12Octet1, C:\AutoIPPresetsBackup.txt, 47
FileReadLine, Preset12Octet2, C:\AutoIPPresetsBackup.txt, 48
FileReadLine, Preset12Octet3, C:\AutoIPPresetsBackup.txt, 49
FileReadLine, Preset12Octet4, C:\AutoIPPresetsBackup.txt, 50
FileReadLine, Preset13Name, C:\AutoIPPresetsBackup.txt, 51
FileReadLine, Preset13Octet1, C:\AutoIPPresetsBackup.txt, 52
FileReadLine, Preset13Octet2, C:\AutoIPPresetsBackup.txt, 53
FileReadLine, Preset13Octet3, C:\AutoIPPresetsBackup.txt, 54
FileReadLine, Preset13Octet4, C:\AutoIPPresetsBackup.txt, 55
FileReadLine, Preset14Name, C:\AutoIPPresetsBackup.txt, 56
FileReadLine, Preset14Octet1, C:\AutoIPPresetsBackup.txt, 57
FileReadLine, Preset14Octet2, C:\AutoIPPresetsBackup.txt, 58
FileReadLine, Preset14Octet3, C:\AutoIPPresetsBackup.txt, 59
FileReadLine, Preset14Octet4, C:\AutoIPPresetsBackup.txt, 60
FileReadLine, Preset15Name, C:\AutoIPPresetsBackup.txt, 61
FileReadLine, Preset15Octet1, C:\AutoIPPresetsBackup.txt, 62
FileReadLine, Preset15Octet2, C:\AutoIPPresetsBackup.txt, 63
FileReadLine, Preset15Octet3, C:\AutoIPPresetsBackup.txt, 64
FileReadLine, Preset15Octet4, C:\AutoIPPresetsBackup.txt, 65
FileReadLine, Preset16Name, C:\AutoIPPresetsBackup.txt, 66
FileReadLine, Preset16Octet1, C:\AutoIPPresetsBackup.txt, 67
FileReadLine, Preset16Octet2, C:\AutoIPPresetsBackup.txt, 68
FileReadLine, Preset16Octet3, C:\AutoIPPresetsBackup.txt, 69
FileReadLine, Preset16Octet4, C:\AutoIPPresetsBackup.txt, 70
FileReadLine, Preset17Name, C:\AutoIPPresetsBackup.txt, 71
FileReadLine, Preset17Octet1, C:\AutoIPPresetsBackup.txt, 72
FileReadLine, Preset17Octet2, C:\AutoIPPresetsBackup.txt, 73
FileReadLine, Preset17Octet3, C:\AutoIPPresetsBackup.txt, 74
FileReadLine, Preset17Octet4, C:\AutoIPPresetsBackup.txt, 75
FileReadLine, Preset18Name, C:\AutoIPPresetsBackup.txt, 76
FileReadLine, Preset18Octet1, C:\AutoIPPresetsBackup.txt, 77
FileReadLine, Preset18Octet2, C:\AutoIPPresetsBackup.txt, 78
FileReadLine, Preset18Octet3, C:\AutoIPPresetsBackup.txt, 79
FileReadLine, Preset18Octet4, C:\AutoIPPresetsBackup.txt, 80
FileReadLine, Preset19Name, C:\AutoIPPresetsBackup.txt, 81
FileReadLine, Preset19Octet1, C:\AutoIPPresetsBackup.txt, 82
FileReadLine, Preset19Octet2, C:\AutoIPPresetsBackup.txt, 83
FileReadLine, Preset19Octet3, C:\AutoIPPresetsBackup.txt, 84
FileReadLine, Preset19Octet4, C:\AutoIPPresetsBackup.txt, 85
FileReadLine, Preset20Name, C:\AutoIPPresetsBackup.txt, 86
FileReadLine, Preset20Octet1, C:\AutoIPPresetsBackup.txt, 87
FileReadLine, Preset20Octet2, C:\AutoIPPresetsBackup.txt, 88
FileReadLine, Preset20Octet3, C:\AutoIPPresetsBackup.txt, 89
FileReadLine, Preset20Octet4, C:\AutoIPPresetsBackup.txt, 90
FileReadLine, Sleep, C:\AutoIPPresetsBackup.txt, 91
FileReadLine, UserConnectionName, C:\AutoIPPresetsBackup.txt, 92
Goto, Presets
}
return

DelayHelp:
{
Msgbox Delay in Milliseconds to wait for the computer to process the IP change request before 

terminating this script. Normal value is between 7000 and 10000.
}
return



GuiClose:
ExitApp

EndProgram:
{
ExitApp
}
return


Cancel:
{
WinClose,
Gui, Destroy,
Goto, EndProgram
}
return

Cancel2:
{
Winclose
Gui, 2:Destroy
Goto, Main
}
return

UserCancel:
{
WinClose,
Gui, 3:Destroy
Goto, Main
}
return

Submit:
{
Gui, 2:Submit
WinClose,
Gui, Destroy

if Preset3Octet1 between 192 and 223
Preset3Subnet = 255.255.255.0
if Preset3Octet1 between 128 and 191
Preset3Subnet = 255.255.0.0
if Preset3Octet1 between 1 and 126
Preset3Subnet = 255.0.0.0

if Preset4Octet1 between 192 and 223
Preset4Subnet = 255.255.255.0
if Preset4Octet1 between 128 and 191
Preset4Subnet = 255.255.0.0
if Preset4Octet1 between 1 and 126
Preset4Subnet = 255.0.0.0

if Preset5Octet1 between 192 and 223
Preset5Subnet = 255.255.255.0
if Preset5Octet1 between 128 and 191
Preset5Subnet = 255.255.0.0
if Preset5Octet1 between 1 and 126
Preset5Subnet = 255.0.0.0

if Preset6Octet1 between 192 and 223
Preset6Subnet = 255.255.255.0
if Preset6Octet1 between 128 and 191
Preset6Subnet = 255.255.0.0
if Preset6Octet1 between 1 and 126
Preset6Subnet = 255.0.0.0

if Preset7Octet1 between 192 and 223
Preset7Subnet = 255.255.255.0
if Preset7Octet1 between 128 and 191
Preset7Subnet = 255.255.0.0
if Preset7Octet1 between 1 and 126
Preset7Subnet = 255.0.0.0

if Preset8Octet1 between 192 and 223
Preset8Subnet = 255.255.255.0
if Preset8Octet1 between 128 and 191
Preset8Subnet = 255.255.0.0
if Preset8Octet1 between 1 and 126
Preset8Subnet = 255.0.0.0

if Preset9Octet1 between 192 and 223
Preset9Subnet = 255.255.255.0
if Preset9Octet1 between 128 and 191
Preset9Subnet = 255.255.0.0
if Preset9Octet1 between 1 and 126
Preset9Subnet = 255.0.0.0

if Preset10Octet1 between 192 and 223
Preset10Subnet = 255.255.255.0
if Preset10Octet1 between 128 and 191
Preset10Subnet = 255.255.0.0
if Preset10Octet1 between 1 and 126
Preset10Subnet = 255.0.0.0

if Preset11Octet1 between 192 and 223
Preset11Subnet = 255.255.255.0
if Preset11Octet1 between 128 and 191
Preset11Subnet = 255.255.0.0
if Preset11Octet1 between 1 and 126
Preset11Subnet = 255.0.0.0

if Preset12Octet1 between 192 and 223
Preset12Subnet = 255.255.255.0
if Preset12Octet1 between 128 and 191
Preset12Subnet = 255.255.0.0
if Preset12Octet1 between 1 and 126
Preset12Subnet = 255.0.0.0

if Preset13Octet1 between 192 and 223
Preset13Subnet = 255.255.255.0
if Preset13Octet1 between 128 and 191
Preset13Subnet = 255.255.0.0
if Preset13Octet1 between 1 and 126
Preset13Subnet = 255.0.0.0

if Preset14Octet1 between 192 and 223
Preset14Subnet = 255.255.255.0
if Preset14Octet1 between 128 and 191
Preset14Subnet = 255.255.0.0
if Preset14Octet1 between 1 and 126
Preset14Subnet = 255.0.0.0

if Preset15Octet1 between 192 and 223
Preset15Subnet = 255.255.255.0
if Preset15Octet1 between 128 and 191
Preset15Subnet = 255.255.0.0
if Preset15Octet1 between 1 and 126
Preset15Subnet = 255.0.0.0

if Preset16Octet1 between 192 and 223
Preset16Subnet = 255.255.255.0
if Preset16Octet1 between 128 and 191
Preset16Subnet = 255.255.0.0
if Preset16Octet1 between 1 and 126
Preset16Subnet = 255.0.0.0

if Preset17Octet1 between 192 and 223
Preset17Subnet = 255.255.255.0
if Preset17Octet1 between 128 and 191
Preset17Subnet = 255.255.0.0
if Preset17Octet1 between 1 and 126
Preset17Subnet = 255.0.0.0

if Preset18Octet1 between 192 and 223
Preset18Subnet = 255.255.255.0
if Preset18Octet1 between 128 and 191
Preset18Subnet = 255.255.0.0
if Preset18Octet1 between 1 and 126
Preset18Subnet = 255.0.0.0

if Preset19Octet1 between 192 and 223
Preset19Subnet = 255.255.255.0
if Preset19Octet1 between 128 and 191
Preset19Subnet = 255.255.0.0
if Preset19Octet1 between 1 and 126
Preset19Subnet = 255.0.0.0

if Preset20Octet1 between 192 and 223
Preset20Subnet = 255.255.255.0
if Preset20Octet1 between 128 and 191
Preset20Subnet = 255.255.0.0
if Preset20Octet1 between 1 and 126
Preset20Subnet = 255.0.0.0


FileDelete, C:\AutoIPPresets.txt

FileAppend,
(
%Preset3Name%
%Preset3Octet1%
%Preset3Octet2%
%Preset3Octet3%
%Preset3Octet4%
%Preset4Name%
%Preset4Octet1%
%Preset4Octet2%
%Preset4Octet3%
%Preset4Octet4%
%Preset5Name%
%Preset5Octet1%
%Preset5Octet2%
%Preset5Octet3%
%Preset5Octet4%
%Preset6Name%
%Preset6Octet1%
%Preset6Octet2%
%Preset6Octet3%
%Preset6Octet4%
%Preset7Name%
%Preset7Octet1%
%Preset7Octet2%
%Preset7Octet3%
%Preset7Octet4%
%Preset8Name%
%Preset8Octet1%
%Preset8Octet2%
%Preset8Octet3%
%Preset8Octet4%
%Preset9Name%
%Preset9Octet1%
%Preset9Octet2%
%Preset9Octet3%
%Preset9Octet4%
%Preset10Name%
%Preset10Octet1%
%Preset10Octet2%
%Preset10Octet3%
%Preset10Octet4%
%Preset11Name%
%Preset11Octet1%
%Preset11Octet2%
%Preset11Octet3%
%Preset11Octet4%
%Preset12Name%
%Preset12Octet1%
%Preset12Octet2%
%Preset12Octet3%
%Preset12Octet4%
%Preset13Name%
%Preset13Octet1%
%Preset13Octet2%
%Preset13Octet3%
%Preset13Octet4%
%Preset14Name%
%Preset14Octet1%
%Preset14Octet2%
%Preset14Octet3%
%Preset14Octet4%
%Preset15Name%
%Preset15Octet1%
%Preset15Octet2%
%Preset15Octet3%
%Preset15Octet4%
%Preset16Name%
%Preset16Octet1%
%Preset16Octet2%
%Preset16Octet3%
%Preset16Octet4%
%Preset17Name%
%Preset17Octet1%
%Preset17Octet2%
%Preset17Octet3%
%Preset17Octet4%
%Preset18Name%
%Preset18Octet1%
%Preset18Octet2%
%Preset18Octet3%
%Preset18Octet4%
%Preset19Name%
%Preset19Octet1%
%Preset19Octet2%
%Preset19Octet3%
%Preset19Octet4%
%Preset20Name%
%Preset20Octet1%
%Preset20Octet2%
%Preset20Octet3%
%Preset20Octet4%
%Sleep%
%UserConnectionName%
),C:\AutoIPPresets.txt

Goto, Main
}
return

NetworkConnections:
{
Run::{7007acc7-3202-11d1-aad2-00805fc1270e}
}
return

Button1:
{
run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}dhcp{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
ExitApp
}
return


Button2:
{
Gui, Destroy
Gui, 3:Add, Edit, r1 x30 y15 Limit3 number vUserOctet1, 192
Gui, 3:Add, Edit, r1 x60 y15 Limit3 number vUserOctet2, 168
Gui, 3:Add, Edit, r1 x90 y15 Limit3 number vUserOctet3, 000
Gui, 3:Add, Edit, r1 x120 y15 Limit3 number vUserOctet4, 000
Gui, 3:Show, w300 h100, Enter IP, Autosize, center
DisableCloseButton()
Gui, 3:Add, Button, w75 x200 y15 gUserEnter Default, Enter
Gui, 3:Add, Button, w75 x200 y50 gUserCancel, Cancel
Gui, 3:Add, Text, x42 y55, Subnet is Automatic
}
return

UserEnter:
{
Gui, Submit
WinClose,
if UserOctet1 between 192 and 223
UserSubnet = 255.255.255.0
if UserOctet1 between 128 and 191
UserSubnet = 255.255.0.0
if UserOctet1 between 1 and 126
UserSubnet = 255.0.0.0
Gui, 3:Destroy

run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%UserOctet1%.%UserOctet2%.%

UserOctet3%.%UserOctet4%{space}%UserSubnet%{enter}
sleep, %Sleep%
winclose

UserOctet1 = 192
UserOctet2 = 168
UserOctet3 = 000
UserOctet4 = 000

SoundPlay, *48
Goto, EndProgram
}
return

Button3:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset3Octet1%.%Preset3Oct

et2%.%Preset3Octet3%.%Preset3Octet4%{space}%Preset3Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button4:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset4Octet1%.%Preset4Oct

et2%.%Preset4Octet3%.%Preset4Octet4%{space}%Preset4Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button5:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset5Octet1%.%Preset5Oct

et2%.%Preset5Octet3%.%Preset5Octet4%{space}%Preset5Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button6:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset6Octet1%.%Preset6Oct

et2%.%Preset6Octet3%.%Preset6Octet4%{space}%Preset6Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button7:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset7Octet1%.%Preset7Oct

et2%.%Preset7Octet3%.%Preset7Octet4%{space}%Preset7Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48


Goto, EndProgram
}
return

Button8:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset8Octet1%.%Preset8Oct

et2%.%Preset8Octet3%.%Preset8Octet4%{space}%Preset8Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button9:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset9Octet1%.%Preset9Oct

et2%.%Preset9Octet3%.%Preset9Octet4%{space}%Preset9Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button10:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset10Octet1%.%Preset10O

ctet2%.%Preset10Octet3%.%Preset10Octet4%{space}%Preset10Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button11:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset11Octet1%.%Preset11O

ctet2%.%Preset11Octet3%.%Preset11Octet4%{space}%Preset11Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button12:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset12Octet1%.%Preset12O

ctet2%.%Preset12Octet3%.%Preset12Octet4%{space}%Preset12Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button13:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset13Octet1%.%Preset13O

ctet2%.%Preset13Octet3%.%Preset13Octet4%{space}%Preset13Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button14:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset14Octet1%.%Preset14O

ctet2%.%Preset14Octet3%.%Preset14Octet4%{space}%Preset14Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button15:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset15Octet1%.%Preset15O

ctet2%.%Preset15Octet3%.%Preset15Octet4%{space}%Preset15Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button16:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset16Octet1%.%Preset16O

ctet2%.%Preset16Octet3%.%Preset16Octet4%{space}%Preset16Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button17:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset17Octet1%.%Preset17O

ctet2%.%Preset17Octet3%.%Preset17Octet4%{space}%Preset17Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button18:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset18Octet1%.%Preset18O

ctet2%.%Preset18Octet3%.%Preset18Octet4%{space}%Preset18Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button19:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset19Octet1%.%Preset19O

ctet2%.%Preset19Octet3%.%Preset19Octet4%{space}%Preset19Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button20:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, 

netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{S

HIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset20Octet1%.%Preset20O

ctet2%.%Preset20Octet3%.%Preset20Octet4%{space}%Preset20Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return


!r::Reload


  • Guests
  • Last active:
  • Joined: --
Not really sure what you are doing (your code has a syntax error for me) but is there any reason you can't use the info returned from ipconfig?

Sean posted an example in his StdoutToVar thread showing how to do this:

MsgBox % sOutput := StdoutToVar_CreateProcess("ipconfig.exe /all")

StdoutToVar_CreateProcess(sCmd, bStream = "", sDir = "", sInput = "")
{
	DllCall("CreatePipe", "UintP", hStdInRd , "UintP", hStdInWr , "Uint", 0, "Uint", 0)
	DllCall("CreatePipe", "UintP", hStdOutRd, "UintP", hStdOutWr, "Uint", 0, "Uint", 0)
	DllCall("SetHandleInformation", "Uint", hStdInRd , "Uint", 1, "Uint", 1)
	DllCall("SetHandleInformation", "Uint", hStdOutWr, "Uint", 1, "Uint", 1)
	VarSetCapacity(pi, 16, 0)
	NumPut(VarSetCapacity(si, 68, 0), si)	; size of si
	NumPut(0x100	, si, 44)		; STARTF_USESTDHANDLES
	NumPut(hStdInRd	, si, 56)		; hStdInput
	NumPut(hStdOutWr, si, 60)		; hStdOutput
	NumPut(hStdOutWr, si, 64)		; hStdError
	If Not	DllCall("CreateProcess", "Uint", 0, "Uint", &sCmd, "Uint", 0, "Uint", 0, "int", True, "Uint", 0x08000000, "Uint", 0, "Uint", sDir ? &sDir : 0, "Uint", &si, "Uint", &pi)	; bInheritHandles and CREATE_NO_WINDOW
		ExitApp
	DllCall("CloseHandle", "Uint", NumGet(pi,0))
	DllCall("CloseHandle", "Uint", NumGet(pi,4))
	DllCall("CloseHandle", "Uint", hStdOutWr)
	DllCall("CloseHandle", "Uint", hStdInRd)
	If	sInput <>
	DllCall("WriteFile", "Uint", hStdInWr, "Uint", &sInput, "Uint", StrLen(sInput), "UintP", nSize, "Uint", 0)
	DllCall("CloseHandle", "Uint", hStdInWr)
	bStream+0 ? (bAlloc:=DllCall("AllocConsole"),hCon:=DllCall("CreateFile","str","CON","Uint",0x40000000,"Uint",bAlloc ? 0 : 3,"Uint",0,"Uint",3,"Uint",0,"Uint",0)) : ""
	VarSetCapacity(sTemp, nTemp:=bStream ? 64-nTrim:=1 : 4095)
	Loop
		If	DllCall("ReadFile", "Uint", hStdOutRd, "Uint", &sTemp, "Uint", nTemp, "UintP", nSize:=0, "Uint", 0)&&nSize
		{
			NumPut(0,sTemp,nSize,"Uchar"), VarSetCapacity(sTemp,-1), sOutput.=sTemp
			If	bStream
				Loop
					If	RegExMatch(sOutput, "[^\n]*\n", sTrim, nTrim)
						bStream+0 ? DllCall("WriteFile", "Uint", hCon, "Uint", &sTrim, "Uint", StrLen(sTrim), "UintP", 0, "Uint", 0) : %bStream%(sTrim), nTrim+=StrLen(sTrim)
					Else	Break
		}
		Else	Break
	DllCall("CloseHandle", "Uint", hStdOutRd)
	bStream+0 ? (DllCall("Sleep","Uint",1000),hCon+1 ? DllCall("CloseHandle","Uint",hCon) : "",bAlloc ? DllCall("FreeConsole") : "") : ""
	Return	sOutput
}

Seems like you could parse that info for anything you need...

AVGuy
  • Guests
  • Last active:
  • Joined: --
As I said, I'm new to writing code. I could see how to use the info from ipconfig. I've gotten so far as to save the info to a txt file, read it into a variable, and do a string replace successfully. However, I'm not really sure how to approach the whole parsing process. How do I extract the name and corresponding IP of each network adapter into variables that I can use in my program?

AVGuy
  • Guests
  • Last active:
  • Joined: --
I finally got my code working, so here's the finished, working version. I have some other updates in mind for later, and I'd like to streamline the code, but this is fully functional (For Windows XP only).

You can also download the .exe from my website if you'd like at www.wavendeavor.com/AutoIP.html

#NoTrayIcon
#SingleInstance force

;future upgrade- choose where to save the txt files
;future upgrade- get rid of delay and detect when the IP change has gone through
;future upgrade- GUI graphics
;future upgrade- sizeable windows with scroll bars
;future upgrade- add Default gateway, DNS server (preferred and alternate)
;future upgrade- enable/disable network adapters from AutoIP
;future upgrade- remember last window position instead of centering every time

IfNotExist, C:\AutoIPPresets.txt
FileAppend,
(
Preset 3
000
000
000
000
Preset 4
000
000
000
000
Preset 5
000
000
000
000
Preset 6
000
000
000
000
Preset 7
000
000
000
000
Preset 8
000
000
000
000
Preset 9
000
000
000
000
Preset 10
000
000
000
000
Preset 11
000
000
000
000
Preset 12
000
000
000
000
Preset 13
000
000
000
000
Preset 14
000
000
000
000
Preset 15
000
000
000
000
Preset 16
000
000
000
000
Preset 17
000
000
000
000
Preset 18
000
000
000
000
Preset 19
000
000
000
000
Preset 20
000
000
000
000
8000
Local Area Connection
),C:\AutoIPPresets.txt



FileReadLine, Preset3Name, C:\AutoIPPresets.txt, 1
FileReadLine, Preset3Octet1, C:\AutoIPPresets.txt, 2
FileReadLine, Preset3Octet2, C:\AutoIPPresets.txt, 3
FileReadLine, Preset3Octet3, C:\AutoIPPresets.txt, 4
FileReadLine, Preset3Octet4, C:\AutoIPPresets.txt, 5
FileReadLine, Preset4Name, C:\AutoIPPresets.txt, 6
FileReadLine, Preset4Octet1, C:\AutoIPPresets.txt, 7
FileReadLine, Preset4Octet2, C:\AutoIPPresets.txt, 8
FileReadLine, Preset4Octet3, C:\AutoIPPresets.txt, 9
FileReadLine, Preset4Octet4, C:\AutoIPPresets.txt, 10
FileReadLine, Preset5Name, C:\AutoIPPresets.txt, 11
FileReadLine, Preset5Octet1, C:\AutoIPPresets.txt, 12
FileReadLine, Preset5Octet2, C:\AutoIPPresets.txt, 13
FileReadLine, Preset5Octet3, C:\AutoIPPresets.txt, 14
FileReadLine, Preset5Octet4, C:\AutoIPPresets.txt, 15
FileReadLine, Preset6Name, C:\AutoIPPresets.txt, 16
FileReadLine, Preset6Octet1, C:\AutoIPPresets.txt, 17
FileReadLine, Preset6Octet2, C:\AutoIPPresets.txt, 18
FileReadLine, Preset6Octet3, C:\AutoIPPresets.txt, 19
FileReadLine, Preset6Octet4, C:\AutoIPPresets.txt, 20
FileReadLine, Preset7Name, C:\AutoIPPresets.txt, 21
FileReadLine, Preset7Octet1, C:\AutoIPPresets.txt, 22
FileReadLine, Preset7Octet2, C:\AutoIPPresets.txt, 23
FileReadLine, Preset7Octet3, C:\AutoIPPresets.txt, 24
FileReadLine, Preset7Octet4, C:\AutoIPPresets.txt, 25
FileReadLine, Preset8Name, C:\AutoIPPresets.txt, 26
FileReadLine, Preset8Octet1, C:\AutoIPPresets.txt, 27
FileReadLine, Preset8Octet2, C:\AutoIPPresets.txt, 28
FileReadLine, Preset8Octet3, C:\AutoIPPresets.txt, 29
FileReadLine, Preset8Octet4, C:\AutoIPPresets.txt, 30
FileReadLine, Preset9Name, C:\AutoIPPresets.txt, 31
FileReadLine, Preset9Octet1, C:\AutoIPPresets.txt, 32
FileReadLine, Preset9Octet2, C:\AutoIPPresets.txt, 33
FileReadLine, Preset9Octet3, C:\AutoIPPresets.txt, 34
FileReadLine, Preset9Octet4, C:\AutoIPPresets.txt, 35
FileReadLine, Preset10Name, C:\AutoIPPresets.txt, 36
FileReadLine, Preset10Octet1, C:\AutoIPPresets.txt, 37
FileReadLine, Preset10Octet2, C:\AutoIPPresets.txt, 38
FileReadLine, Preset10Octet3, C:\AutoIPPresets.txt, 39
FileReadLine, Preset10Octet4, C:\AutoIPPresets.txt, 40
FileReadLine, Preset11Name, C:\AutoIPPresets.txt, 41
FileReadLine, Preset11Octet1, C:\AutoIPPresets.txt, 42
FileReadLine, Preset11Octet2, C:\AutoIPPresets.txt, 43
FileReadLine, Preset11Octet3, C:\AutoIPPresets.txt, 44
FileReadLine, Preset11Octet4, C:\AutoIPPresets.txt, 45
FileReadLine, Preset12Name, C:\AutoIPPresets.txt, 46
FileReadLine, Preset12Octet1, C:\AutoIPPresets.txt, 47
FileReadLine, Preset12Octet2, C:\AutoIPPresets.txt, 48
FileReadLine, Preset12Octet3, C:\AutoIPPresets.txt, 49
FileReadLine, Preset12Octet4, C:\AutoIPPresets.txt, 50
FileReadLine, Preset13Name, C:\AutoIPPresets.txt, 51
FileReadLine, Preset13Octet1, C:\AutoIPPresets.txt, 52
FileReadLine, Preset13Octet2, C:\AutoIPPresets.txt, 53
FileReadLine, Preset13Octet3, C:\AutoIPPresets.txt, 54
FileReadLine, Preset13Octet4, C:\AutoIPPresets.txt, 55
FileReadLine, Preset14Name, C:\AutoIPPresets.txt, 56
FileReadLine, Preset14Octet1, C:\AutoIPPresets.txt, 57
FileReadLine, Preset14Octet2, C:\AutoIPPresets.txt, 58
FileReadLine, Preset14Octet3, C:\AutoIPPresets.txt, 59
FileReadLine, Preset14Octet4, C:\AutoIPPresets.txt, 60
FileReadLine, Preset15Name, C:\AutoIPPresets.txt, 61
FileReadLine, Preset15Octet1, C:\AutoIPPresets.txt, 62
FileReadLine, Preset15Octet2, C:\AutoIPPresets.txt, 63
FileReadLine, Preset15Octet3, C:\AutoIPPresets.txt, 64
FileReadLine, Preset15Octet4, C:\AutoIPPresets.txt, 65
FileReadLine, Preset16Name, C:\AutoIPPresets.txt, 66
FileReadLine, Preset16Octet1, C:\AutoIPPresets.txt, 67
FileReadLine, Preset16Octet2, C:\AutoIPPresets.txt, 68
FileReadLine, Preset16Octet3, C:\AutoIPPresets.txt, 69
FileReadLine, Preset16Octet4, C:\AutoIPPresets.txt, 70
FileReadLine, Preset17Name, C:\AutoIPPresets.txt, 71
FileReadLine, Preset17Octet1, C:\AutoIPPresets.txt, 72
FileReadLine, Preset17Octet2, C:\AutoIPPresets.txt, 73
FileReadLine, Preset17Octet3, C:\AutoIPPresets.txt, 74
FileReadLine, Preset17Octet4, C:\AutoIPPresets.txt, 75
FileReadLine, Preset18Name, C:\AutoIPPresets.txt, 76
FileReadLine, Preset18Octet1, C:\AutoIPPresets.txt, 77
FileReadLine, Preset18Octet2, C:\AutoIPPresets.txt, 78
FileReadLine, Preset18Octet3, C:\AutoIPPresets.txt, 79
FileReadLine, Preset18Octet4, C:\AutoIPPresets.txt, 80
FileReadLine, Preset19Name, C:\AutoIPPresets.txt, 81
FileReadLine, Preset19Octet1, C:\AutoIPPresets.txt, 82
FileReadLine, Preset19Octet2, C:\AutoIPPresets.txt, 83
FileReadLine, Preset19Octet3, C:\AutoIPPresets.txt, 84
FileReadLine, Preset19Octet4, C:\AutoIPPresets.txt, 85
FileReadLine, Preset20Name, C:\AutoIPPresets.txt, 86
FileReadLine, Preset20Octet1, C:\AutoIPPresets.txt, 87
FileReadLine, Preset20Octet2, C:\AutoIPPresets.txt, 88
FileReadLine, Preset20Octet3, C:\AutoIPPresets.txt, 89
FileReadLine, Preset20Octet4, C:\AutoIPPresets.txt, 90
FileReadLine, Sleep, C:\AutoIPPresets.txt, 91
FileReadLine, UserConnectionName, C:\AutoIPPresets.txt, 92



SetWorkingDir, C:\
FileDelete, NetChange.txt
FileDelete, NetChange1.txt
FileDelete, NetChange.bat
RunWait, %Comspec% /c netsh interface show interface >>NetChange.txt, , 
Loop, Read, NetChange.txt
   {
      StringReplace, Delimiter, A_LoopReadLine, Dedicated, §, UseErrorLevel
      If ErrorLevel = 0
         Continue
      Loop, Parse, Delimiter, §
         {
            If A_LoopField not contains able
               {
                  StringReplace, LAN_Name, A_LoopField, %A_Space%%A_Space%, , All
                  FileAppend, %LAN_Name%|, NetChange1.txt
                  LAN_Cnt++
               }
         }
   }
FileDelete, NetChange.txt
FileRead, Var, NetChange1.txt
StringTrimRight, Var, Var, 1
FileAppend, %Var%, NetChange.txt
FileRead, LAN, NetChange.txt
FileDelete, NetChange1.txt

Goto, Submit



Main:
{
FileDelete, IPConfigRawData.txt

RunWait, %Comspec% /c ipconfig >>IPConfigRawData.txt, ,
FileRead, FileContents, IPConfigRawData.txt

StringReplace, FileContents, Filecontents, Windows IP Configuration
StringReplace, FileContents, FileContents, Ethernet, §, All

StringSplit, RawInfo_Array, FileContents, §

FoundPos := RegExMatch(RawInfo_Array2, "(?<=adapter )(.*)(?=:)", AdapterName1)
FoundPos := RegExMatch(RawInfo_Array2, "(?<=IP Address\. \. \. \. \. \. \. \. \. \. \. \. : )(\d*\.\d*\.\d*\.\d*)", CurrentIP1)

FoundPos := RegExMatch(RawInfo_Array3, "(?<=adapter )(.*)(?=:)", AdapterName2)
FoundPos := RegExMatch(RawInfo_Array3, "(?<=IP Address\. \. \. \. \. \. \. \. \. \. \. \. : )(\d*\.\d*\.\d*\.\d*)", CurrentIP2)

FoundPos := RegExMatch(RawInfo_Array4, "(?<=adapter )(.*)(?=:)", AdapterName3)
FoundPos := RegExMatch(RawInfo_Array4, "(?<=IP Address\. \. \. \. \. \. \. \. \. \. \. \. : )(\d*\.\d*\.\d*\.\d*)", CurrentIP3)

FoundPos := RegExMatch(RawInfo_Array5, "(?<=adapter )(.*)(?=:)", AdapterName4)
FoundPos := RegExMatch(RawInfo_Array5, "(?<=IP Address\. \. \. \. \. \. \. \. \. \. \. \. : )(\d*\.\d*\.\d*\.\d*)", CurrentIP4)

FoundPos := RegExMatch(RawInfo_Array6, "(?<=adapter )(.*)(?=:)", AdapterName5)
FoundPos := RegExMatch(RawInfo_Array6, "(?<=IP Address\. \. \. \. \. \. \. \. \. \. \. \. : )(\d*\.\d*\.\d*\.\d*)", CurrentIP5)

FoundPos := RegExMatch(RawInfo_Array7, "(?<=adapter )(.*)(?=:)", AdapterName6)
FoundPos := RegExMatch(RawInfo_Array7, "(?<=IP Address\. \. \. \. \. \. \. \. \. \. \. \. : )(\d*\.\d*\.\d*\.\d*)", CurrentIP6)

FoundPos := RegExMatch(RawInfo_Array8, "(?<=adapter )(.*)(?=:)", AdapterName7)
FoundPos := RegExMatch(RawInfo_Array8, "(?<=IP Address\. \. \. \. \. \. \. \. \. \. \. \. : )(\d*\.\d*\.\d*\.\d*)", CurrentIP7)

FoundPos := RegExMatch(RawInfo_Array9, "(?<=adapter )(.*)(?=:)", AdapterName8)
FoundPos := RegExMatch(RawInfo_Array9, "(?<=IP Address\. \. \. \. \. \. \. \. \. \. \. \. : )(\d*\.\d*\.\d*\.\d*)", CurrentIP8)

FileDelete, IPConfigRawData.txt

if UserConnectionName = %AdapterName1%
   CurrentIP = %CurrentIP1%
else if UserConnectionName = %AdapterName2%
   CurrentIP = %CurrentIP2%
else if UserConnectionName = %AdapterName3%
   CurrentIP = %CurrentIP3%
else if UserConnectionName = %AdapterName4%
   CurrentIP = %CurrentIP4%
else if UserConnectionName = %AdapterName5%
   CurrentIP = %CurrentIP5%
else if UserConnectionName = %AdapterName6%
   CurrentIP = %CurrentIP6%
else if UserConnectionName = %AdapterName7%
   CurrentIP = %CurrentIP7%
else if UserConnectionName = %AdapterName8%
   CurrentIP = %CurrentIP8%
else CurrentIP = 

Gui, Destroy

Gui, Add, Button, w250 x20 y20 gButton1, DHCP
Gui, Add, Button, w250 x20 y60 gButton2, One Time User Defined
Gui, Add, Button, w250 x20 y100 gButton3, %Preset3Name%___%Preset3Octet1%.%Preset3Octet2%.%Preset3Octet3%.%Preset3Octet4%
Gui, Add, Button, w250 x20 y140 gButton4, %Preset4Name%___%Preset4Octet1%.%Preset4Octet2%.%Preset4Octet3%.%Preset4Octet4%
Gui, Add, Button, w250 x20 y180 gButton5, %Preset5Name%___%Preset5Octet1%.%Preset5Octet2%.%Preset5Octet3%.%Preset5Octet4%
Gui, Add, Button, w250 x20 y220 gButton6, %Preset6Name%___%Preset6Octet1%.%Preset6Octet2%.%Preset6Octet3%.%Preset6Octet4%
Gui, Add, Button, w250 x20 y260 gButton7, %Preset7Name%___%Preset7Octet1%.%Preset7Octet2%.%Preset7Octet3%.%Preset7Octet4%
Gui, Add, Button, w250 x20 y300 gButton8, %Preset8Name%___%Preset8Octet1%.%Preset8Octet2%.%Preset8Octet3%.%Preset8Octet4%
Gui, Add, Button, w250 x20 y340 gButton9, %Preset9Name%___%Preset9Octet1%.%Preset9Octet2%.%Preset9Octet3%.%Preset9Octet4%
Gui, Add, Button, w250 x20 y380 gButton10, %Preset10Name%___%Preset10Octet1%.%Preset10Octet2%.%Preset10Octet3%.%Preset10Octet4%
Gui, Add, Button, w250 x300 y20 gButton11, %Preset11Name%___%Preset11Octet1%.%Preset11Octet2%.%Preset11Octet3%.%Preset11Octet4%
Gui, Add, Button, w250 x300 y60 gButton12, %Preset12Name%___%Preset12Octet1%.%Preset12Octet2%.%Preset12Octet3%.%Preset12Octet4%
Gui, Add, Button, w250 x300 y100 gButton13, %Preset13Name%___%Preset13Octet1%.%Preset13Octet2%.%Preset13Octet3%.%Preset13Octet4%
Gui, Add, Button, w250 x300 y140 gButton14, %Preset14Name%___%Preset14Octet1%.%Preset14Octet2%.%Preset14Octet3%.%Preset14Octet4%
Gui, Add, Button, w250 x300 y180 gButton15, %Preset15Name%___%Preset15Octet1%.%Preset15Octet2%.%Preset15Octet3%.%Preset15Octet4%
Gui, Add, Button, w250 x300 y220 gButton16, %Preset16Name%___%Preset16Octet1%.%Preset16Octet2%.%Preset16Octet3%.%Preset16Octet4%
Gui, Add, Button, w250 x300 y260 gButton17, %Preset17Name%___%Preset17Octet1%.%Preset17Octet2%.%Preset17Octet3%.%Preset17Octet4%
Gui, Add, Button, w250 x300 y300 gButton18, %Preset18Name%___%Preset18Octet1%.%Preset18Octet2%.%Preset18Octet3%.%Preset18Octet4%
Gui, Add, Button, w250 x300 y340 gButton19, %Preset19Name%___%Preset19Octet1%.%Preset19Octet2%.%Preset19Octet3%.%Preset19Octet4%
Gui, Add, Button, w250 x300 y380 gButton20, %Preset20Name%___%Preset20Octet1%.%Preset20Octet2%.%Preset20Octet3%.%Preset20Octet4%
Gui, Add, Button, w100 x100 y425 gPresets, Edit Presets
Gui, Add, Button, w100 x235 y420 gNetworkConnections, Network Connections
Gui, Add, Button, w100 x370 y425 gCancel, Cancel
Gui, Add, DropDownList, gRefreshCurrentIP R%LAN_Cnt% w250 x20 y471 vUserConnectionName, %LAN%
GuiControl, Choose, ComboBox1, %UserConnectionName%
Gui, Add, Button, 0x1 w250 x300 y470 gRefreshCurrentIP, Current IP: %CurrentIP%
Gui, Add, Text, x363 y498, Click to Refresh Current IP
Gui, Add, Text, x70 y498, Select Desired Network Adapter
Gui, Add, Button, w20 x276 y495 gGeneralHelp, ?
Gui, Show, w570 h520, Choose IP, AutoSize, Center,
}
return

GeneralHelp:
{
MsgBox, , AutoIP v.2 2009, Created by David Emmert`rwww.wavendeavor.com/AutoIP.html`r`r`r`rAutoIP is a .exe file which refers to two saved text files and one temporary text file it creates in the root directory of your C drive.`r(AutoIPPresets.txt, AutoIPPresetsBackup.txt, and (temp) IPConfigRawData.txt)`rTo completely remove, just delete these two saved text files, as well as AutoIP.exe.`r`rThis program is only meant to run on Windows XP.`r`rAutoIP currently supports up to 8 ethernet adapters and 18 presets (plus DHCP and One-Time).`r`rNOTE: For proper recall, ethernet adapters must have numbers if the rest of the name is identical.`r           (ex: Local Area Connection 1, Local Area Connection 2)`r`r`rIf you have questions or comments please write to me at [email protected]
}
return

RefreshCurrentIP:
{
Gui, Submit

FileDelete, C:\AutoIPPresets.txt

FileAppend,
(
%Preset3Name%
%Preset3Octet1%
%Preset3Octet2%
%Preset3Octet3%
%Preset3Octet4%
%Preset4Name%
%Preset4Octet1%
%Preset4Octet2%
%Preset4Octet3%
%Preset4Octet4%
%Preset5Name%
%Preset5Octet1%
%Preset5Octet2%
%Preset5Octet3%
%Preset5Octet4%
%Preset6Name%
%Preset6Octet1%
%Preset6Octet2%
%Preset6Octet3%
%Preset6Octet4%
%Preset7Name%
%Preset7Octet1%
%Preset7Octet2%
%Preset7Octet3%
%Preset7Octet4%
%Preset8Name%
%Preset8Octet1%
%Preset8Octet2%
%Preset8Octet3%
%Preset8Octet4%
%Preset9Name%
%Preset9Octet1%
%Preset9Octet2%
%Preset9Octet3%
%Preset9Octet4%
%Preset10Name%
%Preset10Octet1%
%Preset10Octet2%
%Preset10Octet3%
%Preset10Octet4%
%Preset11Name%
%Preset11Octet1%
%Preset11Octet2%
%Preset11Octet3%
%Preset11Octet4%
%Preset12Name%
%Preset12Octet1%
%Preset12Octet2%
%Preset12Octet3%
%Preset12Octet4%
%Preset13Name%
%Preset13Octet1%
%Preset13Octet2%
%Preset13Octet3%
%Preset13Octet4%
%Preset14Name%
%Preset14Octet1%
%Preset14Octet2%
%Preset14Octet3%
%Preset14Octet4%
%Preset15Name%
%Preset15Octet1%
%Preset15Octet2%
%Preset15Octet3%
%Preset15Octet4%
%Preset16Name%
%Preset16Octet1%
%Preset16Octet2%
%Preset16Octet3%
%Preset16Octet4%
%Preset17Name%
%Preset17Octet1%
%Preset17Octet2%
%Preset17Octet3%
%Preset17Octet4%
%Preset18Name%
%Preset18Octet1%
%Preset18Octet2%
%Preset18Octet3%
%Preset18Octet4%
%Preset19Name%
%Preset19Octet1%
%Preset19Octet2%
%Preset19Octet3%
%Preset19Octet4%
%Preset20Name%
%Preset20Octet1%
%Preset20Octet2%
%Preset20Octet3%
%Preset20Octet4%
%Sleep%
%UserConnectionName%
),C:\AutoIPPresets.txt

Goto, Main

}
return


Presets:
{
Gui, Destroy

Gui, 2:Add, Text, x40 y10, Name
Gui, 2:Add, Text, x200 y10, IP

Gui, 2:Add, Text, x25 y30, 1
Gui, 2:Add, Text, cGray x40 y30, DHCP
Gui, 2:Add, Text, x25 y50, 2
Gui, 2:Add, Text, cGray X40 y50, One Time User Defined
Gui, 2:Add, Text, x25 y75, 3
Gui, 2:Add, Edit, w150 X40 y70 vPreset3Name, %Preset3Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y70 vPreset3Octet1, %Preset3Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y70 vPreset3Octet2, %Preset3Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y70 vPreset3Octet3, %Preset3Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y70 vPreset3Octet4, %Preset3Octet4%
Gui, 2:Add, Text, x25 y95, 4
Gui, 2:Add, Edit, w150 X40 y90 vPreset4Name, %Preset4Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y90 vPreset4Octet1, %Preset4Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y90 vPreset4Octet2, %Preset4Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y90 vPreset4Octet3, %Preset4Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y90 vPreset4Octet4, %Preset4Octet4%
Gui, 2:Add, Text, x25 y115, 5
Gui, 2:Add, Edit, w150 X40 y110 vPreset5Name, %Preset5Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y110 vPreset5Octet1, %Preset5Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y110 vPreset5Octet2, %Preset5Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y110 vPreset5Octet3, %Preset5Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y110 vPreset5Octet4, %Preset5Octet4%
Gui, 2:Add, Text, x25 y135, 6
Gui, 2:Add, Edit, w150 X40 y130 vPreset6Name, %Preset6Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y130 vPreset6Octet1, %Preset6Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y130 vPreset6Octet2, %Preset6Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y130 vPreset6Octet3, %Preset6Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y130 vPreset6Octet4, %Preset6Octet4%
Gui, 2:Add, Text, x25 y155, 7
Gui, 2:Add, Edit, w150 X40 y150 vPreset7Name, %Preset7Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y150 vPreset7Octet1, %Preset7Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y150 vPreset7Octet2, %Preset7Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y150 vPreset7Octet3, %Preset7Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y150 vPreset7Octet4, %Preset7Octet4%
Gui, 2:Add, Text, x25 y175, 8
Gui, 2:Add, Edit, w150 X40 y170 vPreset8Name, %Preset8Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y170 vPreset8Octet1, %Preset8Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y170 vPreset8Octet2, %Preset8Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y170 vPreset8Octet3, %Preset8Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y170 vPreset8Octet4, %Preset8Octet4%
Gui, 2:Add, Text, x25 y195, 9
Gui, 2:Add, Edit, w150 X40 y190 vPreset9Name, %Preset9Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y190 vPreset9Octet1, %Preset9Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y190 vPreset9Octet2, %Preset9Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y190 vPreset9Octet3, %Preset9Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y190 vPreset9Octet4, %Preset9Octet4%
Gui, 2:Add, Text, x25 y215, 10
Gui, 2:Add, Edit, w150 X40 y210 vPreset10Name, %Preset10Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y210 vPreset10Octet1, %Preset10Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y210 vPreset10Octet2, %Preset10Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y210 vPreset10Octet3, %Preset10Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y210 vPreset10Octet4, %Preset10Octet4%
Gui, 2:Add, Text, x25 y235, 11
Gui, 2:Add, Edit, w150 X40 y230 vPreset11Name, %Preset11Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y230 vPreset11Octet1, %Preset11Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y230 vPreset11Octet2, %Preset11Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y230 vPreset11Octet3, %Preset11Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y230 vPreset11Octet4, %Preset11Octet4%
Gui, 2:Add, Text, x25 y255, 12
Gui, 2:Add, Edit, w150 X40 y250 vPreset12Name, %Preset12Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y250 vPreset12Octet1, %Preset12Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y250 vPreset12Octet2, %Preset12Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y250 vPreset12Octet3, %Preset12Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y250 vPreset12Octet4, %Preset12Octet4%
Gui, 2:Add, Text, x25 y275, 13
Gui, 2:Add, Edit, w150 X40 y270 vPreset13Name, %Preset13Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y270 vPreset13Octet1, %Preset13Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y270 vPreset13Octet2, %Preset13Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y270 vPreset13Octet3, %Preset13Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y270 vPreset13Octet4, %Preset13Octet4%
Gui, 2:Add, Text, x25 y295, 14
Gui, 2:Add, Edit, w150 X40 y290 vPreset14Name, %Preset14Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y290 vPreset14Octet1, %Preset14Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y290 vPreset14Octet2, %Preset14Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y290 vPreset14Octet3, %Preset14Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y290 vPreset14Octet4, %Preset14Octet4%
Gui, 2:Add, Text, x25 y315, 15
Gui, 2:Add, Edit, w150 X40 y310 vPreset15Name, %Preset15Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y310 vPreset15Octet1, %Preset15Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y310 vPreset15Octet2, %Preset15Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y310 vPreset15Octet3, %Preset15Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y310 vPreset15Octet4, %Preset15Octet4%
Gui, 2:Add, Text, x25 y335, 16
Gui, 2:Add, Edit, w150 X40 y330 vPreset16Name, %Preset16Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y330 vPreset16Octet1, %Preset16Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y330 vPreset16Octet2, %Preset16Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y330 vPreset16Octet3, %Preset16Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y330 vPreset16Octet4, %Preset16Octet4%
Gui, 2:Add, Text, x25 y355, 17
Gui, 2:Add, Edit, w150 X40 y350 vPreset17Name, %Preset17Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y350 vPreset17Octet1, %Preset17Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y350 vPreset17Octet2, %Preset17Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y350 vPreset17Octet3, %Preset17Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y350 vPreset17Octet4, %Preset17Octet4%
Gui, 2:Add, Text, x25 y375, 18
Gui, 2:Add, Edit, w150 X40 y370 vPreset18Name, %Preset18Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y370 vPreset18Octet1, %Preset18Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y370 vPreset18Octet2, %Preset18Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y370 vPreset18Octet3, %Preset18Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y370 vPreset18Octet4, %Preset18Octet4%
Gui, 2:Add, Text, x25 y395, 19
Gui, 2:Add, Edit, w150 X40 y390 vPreset19Name, %Preset19Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y390 vPreset19Octet1, %Preset19Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y390 vPreset19Octet2, %Preset19Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y390 vPreset19Octet3, %Preset19Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y390 vPreset19Octet4, %Preset19Octet4%
Gui, 2:Add, Text, x25 y415, 20
Gui, 2:Add, Edit, w150 X40 y410 vPreset20Name, %Preset20Name%
Gui, 2:Add, Edit, Limit3 w30 x200 y410 vPreset20Octet1, %Preset20Octet1%
Gui, 2:Add, Edit, Limit3 w30 x230 y410 vPreset20Octet2, %Preset20Octet2%
Gui, 2:Add, Edit, Limit3 w30 x260 y410 vPreset20Octet3, %Preset20Octet3%
Gui, 2:Add, Edit, Limit3 w30 x290 y410 vPreset20Octet4, %Preset20Octet4%


Gui, 2:Add, Text, x375 y80, Set Delay
Gui, 2:Add, Edit, w100 x350 y100 vSleep, %Sleep%
Gui, 2:Add, Button, w20 x380 y130 gDelayHelp, Help
Gui, 2:Add, Button, 0x1 w100 x350 y195 gSubmit, Submit
Gui, 2:Add, Button, w100 x350 y280 gCancel2, Cancel
Gui, 2:Add, Button, w100 x350 y352 gBackup, Backup
Gui, 2:Add, Button, w100 h40 x350 y380 gRestoreFromBackup, Restore from Backup
Gui, 2:Add, Text, x210 y433, Subnet is Automatic
Gui, 2:-SysMenu
Gui, 2:Show, w495 h500, Edit IP Presets, Autosize, Center
}
return


Backup:
{
FileDelete, C:\AutoIPPresetsBackup.txt

FileAppend,
(
%Preset3Name%
%Preset3Octet1%
%Preset3Octet2%
%Preset3Octet3%
%Preset3Octet4%
%Preset4Name%
%Preset4Octet1%
%Preset4Octet2%
%Preset4Octet3%
%Preset4Octet4%
%Preset5Name%
%Preset5Octet1%
%Preset5Octet2%
%Preset5Octet3%
%Preset5Octet4%
%Preset6Name%
%Preset6Octet1%
%Preset6Octet2%
%Preset6Octet3%
%Preset6Octet4%
%Preset7Name%
%Preset7Octet1%
%Preset7Octet2%
%Preset7Octet3%
%Preset7Octet4%
%Preset8Name%
%Preset8Octet1%
%Preset8Octet2%
%Preset8Octet3%
%Preset8Octet4%
%Preset9Name%
%Preset9Octet1%
%Preset9Octet2%
%Preset9Octet3%
%Preset9Octet4%
%Preset10Name%
%Preset10Octet1%
%Preset10Octet2%
%Preset10Octet3%
%Preset10Octet4%
%Preset11Name%
%Preset11Octet1%
%Preset11Octet2%
%Preset11Octet3%
%Preset11Octet4%
%Preset12Name%
%Preset12Octet1%
%Preset12Octet2%
%Preset12Octet3%
%Preset12Octet4%
%Preset13Name%
%Preset13Octet1%
%Preset13Octet2%
%Preset13Octet3%
%Preset13Octet4%
%Preset14Name%
%Preset14Octet1%
%Preset14Octet2%
%Preset14Octet3%
%Preset14Octet4%
%Preset15Name%
%Preset15Octet1%
%Preset15Octet2%
%Preset15Octet3%
%Preset15Octet4%
%Preset16Name%
%Preset16Octet1%
%Preset16Octet2%
%Preset16Octet3%
%Preset16Octet4%
%Preset17Name%
%Preset17Octet1%
%Preset17Octet2%
%Preset17Octet3%
%Preset17Octet4%
%Preset18Name%
%Preset18Octet1%
%Preset18Octet2%
%Preset18Octet3%
%Preset18Octet4%
%Preset19Name%
%Preset19Octet1%
%Preset19Octet2%
%Preset19Octet3%
%Preset19Octet4%
%Preset20Name%
%Preset20Octet1%
%Preset20Octet2%
%Preset20Octet3%
%Preset20Octet4%
%Sleep%
%UserConnectionName%
),C:\AutoIPPresetsBackup.txt
FileSetAttrib, +H, C:\AutoIPPresetsBackup.txt
}
return

RestoreFromBackup:
{
FileReadLine, Preset3Name, C:\AutoIPPresetsBackup.txt, 1
FileReadLine, Preset3Octet1, C:\AutoIPPresetsBackup.txt, 2
FileReadLine, Preset3Octet2, C:\AutoIPPresetsBackup.txt, 3
FileReadLine, Preset3Octet3, C:\AutoIPPresetsBackup.txt, 4
FileReadLine, Preset3Octet4, C:\AutoIPPresetsBackup.txt, 5
FileReadLine, Preset4Name, C:\AutoIPPresetsBackup.txt, 6
FileReadLine, Preset4Octet1, C:\AutoIPPresetsBackup.txt, 7
FileReadLine, Preset4Octet2, C:\AutoIPPresetsBackup.txt, 8
FileReadLine, Preset4Octet3, C:\AutoIPPresetsBackup.txt, 9
FileReadLine, Preset4Octet4, C:\AutoIPPresetsBackup.txt, 10
FileReadLine, Preset5Name, C:\AutoIPPresetsBackup.txt, 11
FileReadLine, Preset5Octet1, C:\AutoIPPresetsBackup.txt, 12
FileReadLine, Preset5Octet2, C:\AutoIPPresetsBackup.txt, 13
FileReadLine, Preset5Octet3, C:\AutoIPPresetsBackup.txt, 14
FileReadLine, Preset5Octet4, C:\AutoIPPresetsBackup.txt, 15
FileReadLine, Preset6Name, C:\AutoIPPresetsBackup.txt, 16
FileReadLine, Preset6Octet1, C:\AutoIPPresetsBackup.txt, 17
FileReadLine, Preset6Octet2, C:\AutoIPPresetsBackup.txt, 18
FileReadLine, Preset6Octet3, C:\AutoIPPresetsBackup.txt, 19
FileReadLine, Preset6Octet4, C:\AutoIPPresetsBackup.txt, 20
FileReadLine, Preset7Name, C:\AutoIPPresetsBackup.txt, 21
FileReadLine, Preset7Octet1, C:\AutoIPPresetsBackup.txt, 22
FileReadLine, Preset7Octet2, C:\AutoIPPresetsBackup.txt, 23
FileReadLine, Preset7Octet3, C:\AutoIPPresetsBackup.txt, 24
FileReadLine, Preset7Octet4, C:\AutoIPPresetsBackup.txt, 25
FileReadLine, Preset8Name, C:\AutoIPPresetsBackup.txt, 26
FileReadLine, Preset8Octet1, C:\AutoIPPresetsBackup.txt, 27
FileReadLine, Preset8Octet2, C:\AutoIPPresetsBackup.txt, 28
FileReadLine, Preset8Octet3, C:\AutoIPPresetsBackup.txt, 29
FileReadLine, Preset8Octet4, C:\AutoIPPresetsBackup.txt, 30
FileReadLine, Preset9Name, C:\AutoIPPresetsBackup.txt, 31
FileReadLine, Preset9Octet1, C:\AutoIPPresetsBackup.txt, 32
FileReadLine, Preset9Octet2, C:\AutoIPPresetsBackup.txt, 33
FileReadLine, Preset9Octet3, C:\AutoIPPresetsBackup.txt, 34
FileReadLine, Preset9Octet4, C:\AutoIPPresetsBackup.txt, 35
FileReadLine, Preset10Name, C:\AutoIPPresetsBackup.txt, 36
FileReadLine, Preset10Octet1, C:\AutoIPPresetsBackup.txt, 37
FileReadLine, Preset10Octet2, C:\AutoIPPresetsBackup.txt, 38
FileReadLine, Preset10Octet3, C:\AutoIPPresetsBackup.txt, 39
FileReadLine, Preset10Octet4, C:\AutoIPPresetsBackup.txt, 40
FileReadLine, Preset11Name, C:\AutoIPPresetsBackup.txt, 41
FileReadLine, Preset11Octet1, C:\AutoIPPresetsBackup.txt, 42
FileReadLine, Preset11Octet2, C:\AutoIPPresetsBackup.txt, 43
FileReadLine, Preset11Octet3, C:\AutoIPPresetsBackup.txt, 44
FileReadLine, Preset11Octet4, C:\AutoIPPresetsBackup.txt, 45
FileReadLine, Preset12Name, C:\AutoIPPresetsBackup.txt, 46
FileReadLine, Preset12Octet1, C:\AutoIPPresetsBackup.txt, 47
FileReadLine, Preset12Octet2, C:\AutoIPPresetsBackup.txt, 48
FileReadLine, Preset12Octet3, C:\AutoIPPresetsBackup.txt, 49
FileReadLine, Preset12Octet4, C:\AutoIPPresetsBackup.txt, 50
FileReadLine, Preset13Name, C:\AutoIPPresetsBackup.txt, 51
FileReadLine, Preset13Octet1, C:\AutoIPPresetsBackup.txt, 52
FileReadLine, Preset13Octet2, C:\AutoIPPresetsBackup.txt, 53
FileReadLine, Preset13Octet3, C:\AutoIPPresetsBackup.txt, 54
FileReadLine, Preset13Octet4, C:\AutoIPPresetsBackup.txt, 55
FileReadLine, Preset14Name, C:\AutoIPPresetsBackup.txt, 56
FileReadLine, Preset14Octet1, C:\AutoIPPresetsBackup.txt, 57
FileReadLine, Preset14Octet2, C:\AutoIPPresetsBackup.txt, 58
FileReadLine, Preset14Octet3, C:\AutoIPPresetsBackup.txt, 59
FileReadLine, Preset14Octet4, C:\AutoIPPresetsBackup.txt, 60
FileReadLine, Preset15Name, C:\AutoIPPresetsBackup.txt, 61
FileReadLine, Preset15Octet1, C:\AutoIPPresetsBackup.txt, 62
FileReadLine, Preset15Octet2, C:\AutoIPPresetsBackup.txt, 63
FileReadLine, Preset15Octet3, C:\AutoIPPresetsBackup.txt, 64
FileReadLine, Preset15Octet4, C:\AutoIPPresetsBackup.txt, 65
FileReadLine, Preset16Name, C:\AutoIPPresetsBackup.txt, 66
FileReadLine, Preset16Octet1, C:\AutoIPPresetsBackup.txt, 67
FileReadLine, Preset16Octet2, C:\AutoIPPresetsBackup.txt, 68
FileReadLine, Preset16Octet3, C:\AutoIPPresetsBackup.txt, 69
FileReadLine, Preset16Octet4, C:\AutoIPPresetsBackup.txt, 70
FileReadLine, Preset17Name, C:\AutoIPPresetsBackup.txt, 71
FileReadLine, Preset17Octet1, C:\AutoIPPresetsBackup.txt, 72
FileReadLine, Preset17Octet2, C:\AutoIPPresetsBackup.txt, 73
FileReadLine, Preset17Octet3, C:\AutoIPPresetsBackup.txt, 74
FileReadLine, Preset17Octet4, C:\AutoIPPresetsBackup.txt, 75
FileReadLine, Preset18Name, C:\AutoIPPresetsBackup.txt, 76
FileReadLine, Preset18Octet1, C:\AutoIPPresetsBackup.txt, 77
FileReadLine, Preset18Octet2, C:\AutoIPPresetsBackup.txt, 78
FileReadLine, Preset18Octet3, C:\AutoIPPresetsBackup.txt, 79
FileReadLine, Preset18Octet4, C:\AutoIPPresetsBackup.txt, 80
FileReadLine, Preset19Name, C:\AutoIPPresetsBackup.txt, 81
FileReadLine, Preset19Octet1, C:\AutoIPPresetsBackup.txt, 82
FileReadLine, Preset19Octet2, C:\AutoIPPresetsBackup.txt, 83
FileReadLine, Preset19Octet3, C:\AutoIPPresetsBackup.txt, 84
FileReadLine, Preset19Octet4, C:\AutoIPPresetsBackup.txt, 85
FileReadLine, Preset20Name, C:\AutoIPPresetsBackup.txt, 86
FileReadLine, Preset20Octet1, C:\AutoIPPresetsBackup.txt, 87
FileReadLine, Preset20Octet2, C:\AutoIPPresetsBackup.txt, 88
FileReadLine, Preset20Octet3, C:\AutoIPPresetsBackup.txt, 89
FileReadLine, Preset20Octet4, C:\AutoIPPresetsBackup.txt, 90
FileReadLine, Sleep, C:\AutoIPPresetsBackup.txt, 91
FileReadLine, UserConnectionName, C:\AutoIPPresetsBackup.txt, 92
Goto, Presets
}
return

DelayHelp:
{
Msgbox The delay (in milliseconds) to wait for the computer to process the IP change request before terminating this script. Normal value is between 7000 and 10000.`rIf the script terminates before the IP has been changed, the action will be cancelled.
}
return



GuiClose:
ExitApp

EndProgram:
{
ExitApp
}
return


Cancel:
{
WinClose,
Gui, Destroy,
Goto, EndProgram
}
return

Cancel2:
{
Winclose
Gui, 2:Destroy
Goto, Main
}
return

UserCancel:
{
WinClose,
Gui, 3:Destroy
Goto, Main
}
return

Submit:
{
Gui, 2:Submit
WinClose,
Gui, Destroy

if Preset3Octet1 between 192 and 223
Preset3Subnet = 255.255.255.0
if Preset3Octet1 between 128 and 191
Preset3Subnet = 255.255.0.0
if Preset3Octet1 between 1 and 126
Preset3Subnet = 255.0.0.0

if Preset4Octet1 between 192 and 223
Preset4Subnet = 255.255.255.0
if Preset4Octet1 between 128 and 191
Preset4Subnet = 255.255.0.0
if Preset4Octet1 between 1 and 126
Preset4Subnet = 255.0.0.0

if Preset5Octet1 between 192 and 223
Preset5Subnet = 255.255.255.0
if Preset5Octet1 between 128 and 191
Preset5Subnet = 255.255.0.0
if Preset5Octet1 between 1 and 126
Preset5Subnet = 255.0.0.0

if Preset6Octet1 between 192 and 223
Preset6Subnet = 255.255.255.0
if Preset6Octet1 between 128 and 191
Preset6Subnet = 255.255.0.0
if Preset6Octet1 between 1 and 126
Preset6Subnet = 255.0.0.0

if Preset7Octet1 between 192 and 223
Preset7Subnet = 255.255.255.0
if Preset7Octet1 between 128 and 191
Preset7Subnet = 255.255.0.0
if Preset7Octet1 between 1 and 126
Preset7Subnet = 255.0.0.0

if Preset8Octet1 between 192 and 223
Preset8Subnet = 255.255.255.0
if Preset8Octet1 between 128 and 191
Preset8Subnet = 255.255.0.0
if Preset8Octet1 between 1 and 126
Preset8Subnet = 255.0.0.0

if Preset9Octet1 between 192 and 223
Preset9Subnet = 255.255.255.0
if Preset9Octet1 between 128 and 191
Preset9Subnet = 255.255.0.0
if Preset9Octet1 between 1 and 126
Preset9Subnet = 255.0.0.0

if Preset10Octet1 between 192 and 223
Preset10Subnet = 255.255.255.0
if Preset10Octet1 between 128 and 191
Preset10Subnet = 255.255.0.0
if Preset10Octet1 between 1 and 126
Preset10Subnet = 255.0.0.0

if Preset11Octet1 between 192 and 223
Preset11Subnet = 255.255.255.0
if Preset11Octet1 between 128 and 191
Preset11Subnet = 255.255.0.0
if Preset11Octet1 between 1 and 126
Preset11Subnet = 255.0.0.0

if Preset12Octet1 between 192 and 223
Preset12Subnet = 255.255.255.0
if Preset12Octet1 between 128 and 191
Preset12Subnet = 255.255.0.0
if Preset12Octet1 between 1 and 126
Preset12Subnet = 255.0.0.0

if Preset13Octet1 between 192 and 223
Preset13Subnet = 255.255.255.0
if Preset13Octet1 between 128 and 191
Preset13Subnet = 255.255.0.0
if Preset13Octet1 between 1 and 126
Preset13Subnet = 255.0.0.0

if Preset14Octet1 between 192 and 223
Preset14Subnet = 255.255.255.0
if Preset14Octet1 between 128 and 191
Preset14Subnet = 255.255.0.0
if Preset14Octet1 between 1 and 126
Preset14Subnet = 255.0.0.0

if Preset15Octet1 between 192 and 223
Preset15Subnet = 255.255.255.0
if Preset15Octet1 between 128 and 191
Preset15Subnet = 255.255.0.0
if Preset15Octet1 between 1 and 126
Preset15Subnet = 255.0.0.0

if Preset16Octet1 between 192 and 223
Preset16Subnet = 255.255.255.0
if Preset16Octet1 between 128 and 191
Preset16Subnet = 255.255.0.0
if Preset16Octet1 between 1 and 126
Preset16Subnet = 255.0.0.0

if Preset17Octet1 between 192 and 223
Preset17Subnet = 255.255.255.0
if Preset17Octet1 between 128 and 191
Preset17Subnet = 255.255.0.0
if Preset17Octet1 between 1 and 126
Preset17Subnet = 255.0.0.0

if Preset18Octet1 between 192 and 223
Preset18Subnet = 255.255.255.0
if Preset18Octet1 between 128 and 191
Preset18Subnet = 255.255.0.0
if Preset18Octet1 between 1 and 126
Preset18Subnet = 255.0.0.0

if Preset19Octet1 between 192 and 223
Preset19Subnet = 255.255.255.0
if Preset19Octet1 between 128 and 191
Preset19Subnet = 255.255.0.0
if Preset19Octet1 between 1 and 126
Preset19Subnet = 255.0.0.0

if Preset20Octet1 between 192 and 223
Preset20Subnet = 255.255.255.0
if Preset20Octet1 between 128 and 191
Preset20Subnet = 255.255.0.0
if Preset20Octet1 between 1 and 126
Preset20Subnet = 255.0.0.0


FileDelete, C:\AutoIPPresets.txt

FileAppend,
(
%Preset3Name%
%Preset3Octet1%
%Preset3Octet2%
%Preset3Octet3%
%Preset3Octet4%
%Preset4Name%
%Preset4Octet1%
%Preset4Octet2%
%Preset4Octet3%
%Preset4Octet4%
%Preset5Name%
%Preset5Octet1%
%Preset5Octet2%
%Preset5Octet3%
%Preset5Octet4%
%Preset6Name%
%Preset6Octet1%
%Preset6Octet2%
%Preset6Octet3%
%Preset6Octet4%
%Preset7Name%
%Preset7Octet1%
%Preset7Octet2%
%Preset7Octet3%
%Preset7Octet4%
%Preset8Name%
%Preset8Octet1%
%Preset8Octet2%
%Preset8Octet3%
%Preset8Octet4%
%Preset9Name%
%Preset9Octet1%
%Preset9Octet2%
%Preset9Octet3%
%Preset9Octet4%
%Preset10Name%
%Preset10Octet1%
%Preset10Octet2%
%Preset10Octet3%
%Preset10Octet4%
%Preset11Name%
%Preset11Octet1%
%Preset11Octet2%
%Preset11Octet3%
%Preset11Octet4%
%Preset12Name%
%Preset12Octet1%
%Preset12Octet2%
%Preset12Octet3%
%Preset12Octet4%
%Preset13Name%
%Preset13Octet1%
%Preset13Octet2%
%Preset13Octet3%
%Preset13Octet4%
%Preset14Name%
%Preset14Octet1%
%Preset14Octet2%
%Preset14Octet3%
%Preset14Octet4%
%Preset15Name%
%Preset15Octet1%
%Preset15Octet2%
%Preset15Octet3%
%Preset15Octet4%
%Preset16Name%
%Preset16Octet1%
%Preset16Octet2%
%Preset16Octet3%
%Preset16Octet4%
%Preset17Name%
%Preset17Octet1%
%Preset17Octet2%
%Preset17Octet3%
%Preset17Octet4%
%Preset18Name%
%Preset18Octet1%
%Preset18Octet2%
%Preset18Octet3%
%Preset18Octet4%
%Preset19Name%
%Preset19Octet1%
%Preset19Octet2%
%Preset19Octet3%
%Preset19Octet4%
%Preset20Name%
%Preset20Octet1%
%Preset20Octet2%
%Preset20Octet3%
%Preset20Octet4%
%Sleep%
%UserConnectionName%
),C:\AutoIPPresets.txt

Goto, Main
}
return

NetworkConnections:
{
Run::{7007acc7-3202-11d1-aad2-00805fc1270e}
}
return

Button1:
{
run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}dhcp{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
ExitApp
}
return


Button2:
{
Gui, Destroy
Gui, 3:Add, Edit, r1 x30 y15 Limit3 number vUserOctet1, 192
Gui, 3:Add, Edit, r1 x60 y15 Limit3 number vUserOctet2, 168
Gui, 3:Add, Edit, r1 x90 y15 Limit3 number vUserOctet3, 000
Gui, 3:Add, Edit, r1 x120 y15 Limit3 number vUserOctet4, 000
Gui, 3:-SysMenu
Gui, 3:Show, w300 h100, Enter IP, Autosize, center
Gui, 3:Add, Button, w75 x200 y15 gUserEnter Default, Enter
Gui, 3:Add, Button, w75 x200 y50 gUserCancel, Cancel
Gui, 3:Add, Text, x42 y55, Subnet is Automatic
}
return

UserEnter:
{
Gui, Submit
WinClose,
if UserOctet1 between 192 and 223
UserSubnet = 255.255.255.0
if UserOctet1 between 128 and 191
UserSubnet = 255.255.0.0
if UserOctet1 between 1 and 126
UserSubnet = 255.0.0.0
Gui, 3:Destroy

run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%UserOctet1%.%UserOctet2%.%UserOctet3%.%UserOctet4%{space}%UserSubnet%{enter}
sleep, %Sleep%
winclose

UserOctet1 = 192
UserOctet2 = 168
UserOctet3 = 000
UserOctet4 = 000

SoundPlay, *48
Goto, EndProgram
}
return

Button3:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset3Octet1%.%Preset3Octet2%.%Preset3Octet3%.%Preset3Octet4%{space}%Preset3Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button4:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset4Octet1%.%Preset4Octet2%.%Preset4Octet3%.%Preset4Octet4%{space}%Preset4Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button5:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset5Octet1%.%Preset5Octet2%.%Preset5Octet3%.%Preset5Octet4%{space}%Preset5Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button6:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset6Octet1%.%Preset6Octet2%.%Preset6Octet3%.%Preset6Octet4%{space}%Preset6Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button7:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset7Octet1%.%Preset7Octet2%.%Preset7Octet3%.%Preset7Octet4%{space}%Preset7Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button8:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset8Octet1%.%Preset8Octet2%.%Preset8Octet3%.%Preset8Octet4%{space}%Preset8Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button9:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset9Octet1%.%Preset9Octet2%.%Preset9Octet3%.%Preset9Octet4%{space}%Preset9Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button10:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset10Octet1%.%Preset10Octet2%.%Preset10Octet3%.%Preset10Octet4%{space}%Preset10Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button11:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset11Octet1%.%Preset11Octet2%.%Preset11Octet3%.%Preset11Octet4%{space}%Preset11Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button12:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset12Octet1%.%Preset12Octet2%.%Preset12Octet3%.%Preset12Octet4%{space}%Preset12Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button13:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset13Octet1%.%Preset13Octet2%.%Preset13Octet3%.%Preset13Octet4%{space}%Preset13Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button14:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset14Octet1%.%Preset14Octet2%.%Preset14Octet3%.%Preset14Octet4%{space}%Preset14Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button15:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset15Octet1%.%Preset15Octet2%.%Preset15Octet3%.%Preset15Octet4%{space}%Preset15Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button16:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset16Octet1%.%Preset16Octet2%.%Preset16Octet3%.%Preset16Octet4%{space}%Preset16Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button17:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset17Octet1%.%Preset17Octet2%.%Preset17Octet3%.%Preset17Octet4%{space}%Preset17Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button18:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset18Octet1%.%Preset18Octet2%.%Preset18Octet3%.%Preset18Octet4%{space}%Preset18Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button19:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset19Octet1%.%Preset19Octet2%.%Preset19Octet3%.%Preset19Octet4%{space}%Preset19Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return

Button20:
{run C:\WINDOWS\system32\cmd.exe, 
WinWaitActive, C:\WINDOWS\system32\cmd.exe, 
Send, netsh{SPACE}int{SPACE}ip{SPACE}set{SPACE}address{SPACE}{SHIFTDOWN}'{SHIFTUP}%UserConnectionName%{SHIFTDOWN};{SHIFTUP}{BACKSPACE}{SHIFTDOWN}'{SHIFTUP}{SPACE}static{space}%Preset20Octet1%.%Preset20Octet2%.%Preset20Octet3%.%Preset20Octet4%{space}%Preset20Subnet%{enter}
sleep, %Sleep%
winclose
SoundPlay, *48
Goto, EndProgram
}
return


!r::Reload