梦想吧技术论坛's Archiver

似水年华 发表于 2007-4-22 06:54 PM

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]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.