| 1 | Global $WinShell= ObjCreate("shell.application"), $ControlPanel = 3, _ |
|---|
| 2 | $NetConTitle = 'Network Connections', _ ; Name of the window you see whenever you open "Network Connections" from the Control Panel |
|---|
| 3 | $NetWorkName = 'Wireless Network Connection'; Name of the connection you'd wish to invoke a function on |
|---|
| 4 | |
|---|
| 5 | |
|---|
| 6 | |
|---|
| 7 | Func RepairConnection() |
|---|
| 8 | For $ControlPanelItem in $WinShell.NameSpace($ControlPanel).Items |
|---|
| 9 | If $ControlPanelItem.Name = $NetConTitle Then |
|---|
| 10 | For $NetConnection In $ControlPanelItem.GetFolder.Items |
|---|
| 11 | If $NetConnection.Name = $NetWorkName Then ExitLoop(2) |
|---|
| 12 | Next |
|---|
| 13 | EndIf |
|---|
| 14 | Next |
|---|
| 15 | $NetConnection.InvokeVerb('Re&pair') ;Invoke the function |
|---|
| 16 | If WinWaitActive('Repair ' & $NetworkName, 'finished repairing', 45) Then _;As soon as the repairment took place or 45 seconds have passed |
|---|
| 17 | Send('{TAB}{ENTER}') ;Close the window by sending {ALT}{ENTER} |
|---|
| 18 | EndFunc |
|---|
| 19 | |
|---|
| 20 | #RequireAdmin |
|---|
| 21 | |
|---|
| 22 | DirCreate(@ProgramFilesDir & "\Easy Network Switcher") |
|---|
| 23 | $networkini = @ProgramFilesDir & "\Easy Network Switcher\Adaptor List.ini" |
|---|
| 24 | |
|---|
| 25 | global $1, $b12, $b11, $var, $disc, $servicename,$tmm , $tmp,$cur = "", $ck, $GUID, $TMP, $name, $current, $del |
|---|
| 26 | |
|---|
| 27 | if FileExists($networkini) then |
|---|
| 28 | $del = IniReadSectionNames($networkini) |
|---|
| 29 | For $1 = 1 to $del[0] |
|---|
| 30 | IniDelete($networkini, $del[$1]) |
|---|
| 31 | Next |
|---|
| 32 | |
|---|
| 33 | EndIf |
|---|
| 34 | |
|---|
| 35 | |
|---|
| 36 | For $i= 1 to 99999 |
|---|
| 37 | $var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards", $i) |
|---|
| 38 | If @error <> 0 then ExitLoop |
|---|
| 39 | $disc = StringReplace(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\" & $var , "Description"),"/","") |
|---|
| 40 | $servicename = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\" & $var , "ServiceName") |
|---|
| 41 | IniWrite($networkini, $disc, "GUID", $servicename) |
|---|
| 42 | IniWrite($networkini, $disc, "NID", $var) |
|---|
| 43 | Next |
|---|
| 44 | |
|---|
| 45 | global $hCombo |
|---|
| 46 | |
|---|
| 47 | #include <C:\Program Files\AutoIt3\Include\GUIConstants.au3> |
|---|
| 48 | #include <C:\Program Files\AutoIt3\Include\GuiComboBoxEx.au3> |
|---|
| 49 | |
|---|
| 50 | Func _placevalue($name, $guid) |
|---|
| 51 | Local $msg = -1 |
|---|
| 52 | local $hCombo2 , $b111 |
|---|
| 53 | $hGUI2 = GUICreate($cur, 400, 130) |
|---|
| 54 | $b111 = GUICtrlCreateButton("Apply Setting Profile",5,103) |
|---|
| 55 | $b22 = GUICtrlCreateButton("Remove",124, 103) |
|---|
| 56 | $b12 = GUICtrlCreateButton("Return",324, 103) |
|---|
| 57 | $hCombo2 = _GUICtrlComboBoxEx_Create ($hGUI2, "", 2, 2, 394, 100, BitOR($CBS_SIMPLE, $WS_VSCROLL, $WS_BORDER)) |
|---|
| 58 | GUISetState() |
|---|
| 59 | |
|---|
| 60 | $ini = IniReadSectionNames(@ProgramFilesDir & "\Easy Network Switcher\Profiles.ini") |
|---|
| 61 | if $ini <> @error Then |
|---|
| 62 | For $1 = 1 to $ini[0] |
|---|
| 63 | _GUICtrlComboBoxex_AddString($hCombo2, $ini[$1]) |
|---|
| 64 | Next |
|---|
| 65 | Else |
|---|
| 66 | MsgBox(48, "Error", "There are no saved profiles to restore") |
|---|
| 67 | GUIDelete($hGUI2) |
|---|
| 68 | _start() |
|---|
| 69 | EndIf |
|---|
| 70 | |
|---|
| 71 | while 1 |
|---|
| 72 | $msg = GUIGetMsg() |
|---|
| 73 | $current = _GUICtrlComboBoxEx_GetCurSel($hCombo2) |
|---|
| 74 | $tmm = IniReadSectionNames(@ProgramFilesDir & "\Easy Network Switcher\" & $name) |
|---|
| 75 | if $tmm <> @error Then $current = $tmm[$current+1] |
|---|
| 76 | Select |
|---|
| 77 | Case $msg = $GUI_EVENT_CLOSE |
|---|
| 78 | GUIDelete($hGUI2) |
|---|
| 79 | _start() |
|---|
| 80 | Case $msg = $b22 |
|---|
| 81 | IniDelete(@ProgramFilesDir & "\Easy Network Switcher\" & $name, $current) |
|---|
| 82 | GUIDelete($hGUI2) |
|---|
| 83 | _placevalue($name, $guid) |
|---|
| 84 | Case $msg = $b111 |
|---|
| 85 | $NetWorkName = $name |
|---|
| 86 | $var = IniRead(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "EnableDHCP", "1");1 |
|---|
| 87 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "EnableDHCP", "REG_DWORD", $var) |
|---|
| 88 | $var = IniRead(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "IPAddress", "0.0.0.0");1 |
|---|
| 89 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "IPAddress", "REG_MULTI_SZ", $var) |
|---|
| 90 | $var = IniRead(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "SubnetMask", "0.0.0.0");1 |
|---|
| 91 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "SubnetMask", "REG_MULTI_SZ", $var) |
|---|
| 92 | $var = IniRead(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "DefaultGateway", "");1 |
|---|
| 93 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "DefaultGateway", "REG_MULTI_SZ", $var) |
|---|
| 94 | $var = IniRead(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "DefaultGatewayMetric", "") |
|---|
| 95 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "DefaultGatewayMetric", "REG_MULTI_SZ", $var) |
|---|
| 96 | $var = IniRead(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "NameServer", "") |
|---|
| 97 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "NameServer", "REG_SZ",$var) |
|---|
| 98 | RepairConnection() |
|---|
| 99 | MsgBox(48, "Apply", "Settings were applied") |
|---|
| 100 | GUIDelete($hGUI2) |
|---|
| 101 | _start() |
|---|
| 102 | Case $msg = $b12 |
|---|
| 103 | GUIDelete($hGUI2) |
|---|
| 104 | _start() |
|---|
| 105 | EndSelect |
|---|
| 106 | WEnd |
|---|
| 107 | EndFunc |
|---|
| 108 | _start() |
|---|
| 109 | Func _start() |
|---|
| 110 | Local $msg |
|---|
| 111 | $hGUI = GUICreate("Network Easy Switcher", 400, 130) |
|---|
| 112 | $b1 = GUICtrlCreateButton("Save Current Settings",5,103) |
|---|
| 113 | $b2 = GUICtrlCreateButton("Apply Custom Settings",124, 103) |
|---|
| 114 | $b3 = GUICtrlCreateButton("Reset Default Settings",245, 103) |
|---|
| 115 | $hCombo = _GUICtrlComboBoxEx_Create ($hGUI, "", 2, 2, 394, 100, BitOR($CBS_SIMPLE, $WS_VSCROLL, $WS_BORDER)) |
|---|
| 116 | GUISetState() |
|---|
| 117 | |
|---|
| 118 | $ini = IniReadSectionNames($networkini) |
|---|
| 119 | For $1 = 1 to $ini[0] |
|---|
| 120 | _GUICtrlComboBoxex_AddString($hCombo, $ini[$1]) |
|---|
| 121 | Next |
|---|
| 122 | |
|---|
| 123 | While 1 |
|---|
| 124 | $msg = GUIGetMsg() |
|---|
| 125 | |
|---|
| 126 | if $msg = $b1 or $msg = $b2 or $msg = $b3 or $msg = $gui_event_Close then |
|---|
| 127 | $var = _GUICtrlComboBoxEx_GetCurSel($hCombo) |
|---|
| 128 | |
|---|
| 129 | If $var <> -1 Then |
|---|
| 130 | Select |
|---|
| 131 | Case $msg = $GUI_EVENT_CLOSE |
|---|
| 132 | Exit |
|---|
| 133 | Case $msg = $b1 |
|---|
| 134 | $cur = $ini[$var+1] |
|---|
| 135 | $name = $cur |
|---|
| 136 | $GUID = IniRead($networkini, $name, "GUID", "") |
|---|
| 137 | $name = "Profiles.ini" |
|---|
| 138 | $current = InputBox("Name Settings", "Please type a name for these settings.", "") |
|---|
| 139 | if $current <> "" and $current <> "Default" Then |
|---|
| 140 | $var = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "EnableDHCP") |
|---|
| 141 | IniWrite(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "EnableDHCP", $var);1 |
|---|
| 142 | $var = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "IPAddress") |
|---|
| 143 | IniWrite(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "IPAddress", $var);1 |
|---|
| 144 | $var = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "SubnetMask") |
|---|
| 145 | IniWrite(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "SubnetMask", $var);1 |
|---|
| 146 | $var = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "DefaultGateway") |
|---|
| 147 | IniWrite(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "DefaultGateway", $var);1 |
|---|
| 148 | $var = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "DefaultGatewayMetric") |
|---|
| 149 | IniWrite(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "DefaultGatewayMetric", $var) |
|---|
| 150 | $var = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "NameServer") |
|---|
| 151 | IniWrite(@ProgramFilesDir & "\Easy Network Switcher\" & $name , $current, "NameServer", $var) |
|---|
| 152 | ElseIf $current = "" then |
|---|
| 153 | MsgBox(48, "Error", "You must type a name for these settings.") |
|---|
| 154 | Else |
|---|
| 155 | MsgBox(48, "Error", "The name 'Default' is reserved by the system.") |
|---|
| 156 | EndIf |
|---|
| 157 | |
|---|
| 158 | Case $msg = $b2 |
|---|
| 159 | $cur = $ini[$var+1] |
|---|
| 160 | $name = $cur |
|---|
| 161 | $GUID = IniRead($networkini, $name, "GUID", "") |
|---|
| 162 | GUIDelete() |
|---|
| 163 | GUICtrlSetState($hCombo, @SW_hide) |
|---|
| 164 | $name = "Profiles.ini" |
|---|
| 165 | _placevalue($name , $GUID) |
|---|
| 166 | ExitLoop |
|---|
| 167 | Case $msg = $b3 |
|---|
| 168 | $cur = $ini[$var+1] |
|---|
| 169 | $name = $cur |
|---|
| 170 | |
|---|
| 171 | $GUID = IniRead($networkini, $name, "GUID", "") |
|---|
| 172 | $name = "Profiles.ini" |
|---|
| 173 | $NetWorkName = $name |
|---|
| 174 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "EnableDHCP", "REG_DWORD", "1") |
|---|
| 175 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "IPAddress", "REG_MULTI_SZ", "0.0.0.0") |
|---|
| 176 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "SubnetMask", "REG_MULTI_SZ", "0.0.0.0") |
|---|
| 177 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "DefaultGateway", "REG_MULTI_SZ", "") |
|---|
| 178 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "DefaultGatewayMetric", "REG_MULTI_SZ", "") |
|---|
| 179 | $var = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"& $GUID, "NameServer", "REG_SZ","") |
|---|
| 180 | RepairConnection() |
|---|
| 181 | MsgBox(48, "Default", "Windows Default restored.") |
|---|
| 182 | EndSelect |
|---|
| 183 | Else |
|---|
| 184 | if $msg = $GUI_EVENT_CLOSE then Exit |
|---|
| 185 | MsgBox(48, "OPPS!!!", "Please select a Network Card") |
|---|
| 186 | $msg = 0 |
|---|
| 187 | EndIf |
|---|
| 188 | EndIf |
|---|
| 189 | |
|---|
| 190 | Wend |
|---|
| 191 | |
|---|
| 192 | EndFunc |
|---|