
睡觉被叫醒--弄了个简单的代理切换
够够的了,朋友不睡觉就算了@
还非要我起来给他弄了一个什么代理切换器
觉得旁路的朋友可以尝试一下
代码共享,大家玩玩就行了
说明在后面,代码自取!
记事本 保存为.vbs 保存编码是:ANSI
Option Explicit
' 创建 Shell 对象,用于执行注册表操作和弹出提示
Dim wshShell
Set wshShell = CreateObject("WScript.Shell")
' 定义代理相关常量
Const PROXY_ENABLE = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable"
Const PROXY_SERVER = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer"
Const PROXY_OVERRIDE = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyOverride"
' 代理服务器地址,可根据实际修改
Const PROXY_SERVER_ADDR = "192.168.0.1:7890" #---修改这里的IP和端口号---
' 本地地址绕过规则,可根据实际调整
Const PROXY_OVERRIDE_VAL = "192.168.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;127.0.0.1"
' 获取当前代理状态
Dim currentProxyStatus
currentProxyStatus = GetProxyStatus()
' 弹出操作选择对话框,修改按钮文字
Dim choice
choice = MsgBox("当前代理状态: " & currentProxyStatus & vbCrLf & "请选择操作:", _
vbYesNo + vbQuestion, _
"代理设置工具")
' 根据按钮值判断并执行对应操作,同时处理按钮文字逻辑
If choice = vbYes Then
' 对应“打开代理”操作
EnableProxy
ElseIf choice = vbNo Then
' 对应“关闭代理”操作
DisableProxy
End If
' 获取当前代理状态函数
Function GetProxyStatus()
On Error Resume Next
Dim proxyEnabled
proxyEnabled = wshShell.RegRead(PROXY_ENABLE)
If proxyEnabled = 1 Then
GetProxyStatus = "已启用"
Else
GetProxyStatus = "已禁用"
End If
On Error Goto 0
End Function
' 启用代理函数
Sub EnableProxy()
On Error Resume Next
' 设置 ProxyEnable 为 1(启用代理)
wshShell.RegWrite PROXY_ENABLE, 1, "REG_DWORD"
' 设置代理服务器地址
wshShell.RegWrite PROXY_SERVER, PROXY_SERVER_ADDR, "REG_SZ"
' 设置本地地址绕过规则
wshShell.RegWrite PROXY_OVERRIDE, PROXY_OVERRIDE_VAL, "REG_SZ"
If Err.Number = 0 Then
' 操作成功提示,5 秒后自动关闭
wshShell.Popup "代理已成功打开!", 5, "操作成功", vbInformation
Else
wshShell.Popup "打开代理失败:" & Err.Description, 5, "错误", vbCritical
End If
On Error Goto 0
End Sub
' 禁用代理函数
Sub DisableProxy()
On Error Resume Next
' 设置 ProxyEnable 为 0(禁用代理)
wshShell.RegWrite PROXY_ENABLE, 0, "REG_DWORD"
' 可选择是否删除 ProxyServer 和 ProxyOverride 键值,按需调整
' wshShell.RegDelete PROXY_SERVER
' wshShell.RegDelete PROXY_OVERRIDE
If Err.Number = 0 Then
wshShell.Popup "代理已成功关闭!", 5, "操作成功", vbInformation
Else
wshShell.Popup "关闭代理失败:" & Err.Description, 5, "错误", vbCritical
End If
On Error Goto 0
End Sub
使用说明:
按键“是”打开代理 按键“否”关闭代理
会显示当前代理的状态
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果