VBScriptでプロキシの設定を切り替える
概要
VBScriptでプロキシの設定を切り替えます。
インターネットオプションのレジストリ(システムのプロキシ設定)を書き換えて実現します。
この方法は、たとえば、即座にブラウザに反映させたい場合には不向きです。(ブラウザの再起動が必要になる)
そのようなケースは各ブラウザの拡張機能を利用するのがよいと思います。
要点
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable
でプロキシサーバを利用するにチェックを入れて
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer
にプロキシサーバのアドレスとポートを設定すればOKです。
' レジストリ
Const REGKEY_PROXY_ENABLE = "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable"
Const REGKEY_PROXY_SERVER = "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer"
'プロキシサーバを利用するにチェック
objShell.RegWrite REGKEY_PROXY_ENABLE, 1, "REG_DWORD"
'プロキシサーバのアドレスとポートを設定
objShell.RegWrite REGKEY_PROXY_SERVER, "localhost:3128", "REG_SZ"
プロキシを解除するときは、
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable
でプロキシサーバを利用するのチェックを外すだけでOKです。
ソース
プロキシ設定用の簡単な画面をつけています。
<!DOCTYPE html>
<html>
<head>
<title>Proxy</title>
</head>
<script language="vbscript">
' 画面サイズ変更
Sub Window_OnLoad
Window.ResizeTo 240,120
End Sub
</script>
<body>
<input type="radio" name="proxy" value="proxy1" onclick="SetProxy()">プロキシ設定<br>
<input type="radio" name="proxy" value="proxyNone" onclick="RemoveProxy()">プロキシなし<br>
</body>
<script language="vbscript">
' レジストリ
Const REGKEY_PROXY_ENABLE = "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable"
Const REGKEY_PROXY_SERVER = "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer"
' オブジェクト
Dim objShell:Set objShell = CreateObject("WScript.Shell")
' プロキシ設定
Sub SetProxy()
'プロキシサーバを利用するにチェック
objShell.RegWrite REGKEY_PROXY_ENABLE, 1, "REG_DWORD"
'プロキシサーバのアドレスとポートを設定
objShell.RegWrite REGKEY_PROXY_SERVER, "localhost:3128", "REG_SZ"
If objShell.RegRead(REGKEY_PROXY_ENABLE) = 1 Then
server = objShell.RegRead(REGKEY_PROXY_SERVER)
MsgBox("プロキシ設定成功:" & server)
Else
server = objShell.RegRead(REGKEY_PROXY_SERVER)
MsgBox("プロキシ設定失敗:" & server)
End If
End Sub
' プロキシ解除
Sub RemoveProxy()
' プロキシサーバを利用するのチェックを外す
objShell.RegWrite REGKEY_PROXY_ENABLE, 0, "REG_DWORD"
' プロキシサーバのアドレスとポートに値が入っていても
' プロキシは解除されているので、以下はコメントアウトしておく
' objShell.RegWrite REGKEY_PROXY_SERVER, "", "REG_SZ"
If objShell.RegRead(REGKEY_PROXY_ENABLE) = 0 Then
MsgBox("プロキシ解除成功")
Else
MsgBox("プロキシ解除失敗")
End If
End Sub
</script>
</html>
Author And Source
この問題について(VBScriptでプロキシの設定を切り替える), 我々は、より多くの情報をここで見つけました https://qiita.com/int_main_void/items/187c4753327a12a40570著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .