AU3-网关切换器
#cs ----------------------------------------------------------------------------AutoIt Version: 3.1.1.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#include <GUIConstants.au3>
Opt("TrayIconHide",1)
$CNCWG=iniread(@ScriptDir& "\" &"WANCFG.ini","网通线路","网关","")
$CNCHTTP=iniread(@ScriptDir& "\" &"WANCFG.ini","网通线路","主页","")
$CNCDNS=iniread(@ScriptDir& "\" &"WANCFG.ini","网通线路","DNS","")
$TELWG=iniread(@ScriptDir& "\" &"WANCFG.ini","电信线路","网关","")
$TELHTTP=iniread(@ScriptDir& "\" &"WANCFG.ini","电信线路","主页","")
$TELDNS=iniread(@ScriptDir& "\" &"WANCFG.ini","电信线路","DNS","")
$route1 = 'route delete 0.0.0.0'
$route2 = 'route add 0.0.0.0 mask 0.0.0.0'
$route3 = 'route change 0.0.0.0 mask 0.0.0.0'
$Form1 = GUICreate("网关切换", 152, 200, 238, 163)
GUISetCursor (2)
GUICtrlCreateLabel("王牌网维网关切换", 32, 5, 190, 33)
$Button1 = GUICtrlCreateButton("网通线路", 32, 24, 90, 33, 0)
GUICtrlSetCursor ($Button1, 0)
$Button2 = GUICtrlCreateButton("电信线路", 32, 72, 90, 33, 0)
GUICtrlSetCursor ($Button2, 0)
$Button3 = GUICtrlCreateButton("退出切换", 32, 120, 90, 33, 0)
GUICtrlCreateLabel("王牌网维", 52, 165, 190, 33)
GUICtrlCreateLabel("http://www.nybb.net", 22, 180, 190, 33)
GUICtrlSetCursor ($Button3, 0)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $Button1
RunCNC()
Case $msg = $Button2
RunTEL()
Case $msg = $Button3
RunExit()
Case $msg = $GUI_EVENT_CLOSE
RunExit()
ExitLoop
Case Else
EndSelect
WEnd
Exit
Func RunCNC()
ToolTip("正在切换线路,请梢侯...")
;先需要读取网卡接口的name
$soure = @TempDir & "\netsh.txt"
RunWait(@ComSpec & " /c " & "netsh interface ip show address > " & $soure, "", @SW_HIDE)
$fid = FileOpen($soure,0)
While 1
$aArray = FileReadLine($fid)
If @error = -1 Then
$aArray = ""
FileClose($fid)
MsgBox(0,"","本机无网络接口,请检查网卡是否安装正确")
Exit
EndIf
if StringInStr($aArray,"接口") Then
$aArray = StringMid($aArray,7,StringLen($aArray) - 14);得到网卡接口的
; MsgBox(0,"",$aArray)
ExitLoop
EndIf
WEnd
FileClose($fid)
FileDelete($soure)
;执行命令
Runwait(@ComSpec & ' /c ' & ""& $route1 &" """, "", @SW_HIDE)
Runwait(@ComSpec & ' /c ' & ""& $route2 &" "& $CNCWG &"", "", @SW_HIDE)
Runwait(@ComSpec & ' /c ' & ""& $route3 &" "& $CNCWG &"", "", @SW_HIDE)
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main", "Start Page", "REG_SZ",$CNCHTTP)
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main", "Start Page", "REG_SZ",$CNCHTTP)
$DNS="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"&$aArray
RegWrite( $DNS, "NameServer", "REG_SZ", $CNCDNS )
RegWrite( $DNS, "DefaultGateway", "REG_MULTI_SZ", $CNCWG )
MSGBOX (4096,"网关切换","已切换到网通线路",1)
exit
EndFunc
Func RunTEL()
ToolTip("正在切换线路,请梢侯...")
;先需要读取网卡接口的name
$soure = @TempDir & "\netsh.txt"
RunWait(@ComSpec & " /c " & "netsh interface ip show address > " & $soure, "", @SW_HIDE)
$fid = FileOpen($soure,0)
While 1
$aArray = FileReadLine($fid)
If @error = -1 Then
$aArray = ""
FileClose($fid)
MsgBox(0,"","本机无网络接口,请检查网卡是否安装正确")
Exit
EndIf
if StringInStr($aArray,"接口") Then
$aArray = StringMid($aArray,7,StringLen($aArray) - 14);得到网卡接口的
; MsgBox(0,"",$aArray)
ExitLoop
EndIf
WEnd
FileClose($fid)
FileDelete($soure)
;执行命令
Runwait(@ComSpec & ' /c ' & ""& $route1 &" """, "", @SW_HIDE)
Runwait(@ComSpec & ' /c ' & ""& $route2 &" "& $TELWG &"", "", @SW_HIDE)
Runwait(@ComSpec & ' /c ' & ""& $route3 &" "& $TELWG &"", "", @SW_HIDE)
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main", "Start Page", "REG_SZ",$TELHTTP)
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main", "Start Page", "REG_SZ",$TELHTTP)
$DNS="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"&$aArray
RegWrite( $DNS, "NameServer", "REG_SZ", $TELDNS )
RegWrite( $DNS, "DefaultGateway", "REG_MULTI_SZ", $TELWG )
MSGBOX (4096,"网关切换","已切换到电信线路",1)
exit
EndFunc
Func RunExit()
exit
EndFunc
页:
[1]