Windowsでプロキシ設定を頻繁に切り替えたかった
大学ではプロキシサーバーを使うので、大学と自宅で設定のオンオフを切り替えるのがとてもめんどくさい。
JavaScriptでなんとかならねぇかなぁって思ったらWSH(Windows Script Host)とかいうものがあったので、それを使った。
WSHではJscript(javaScriptのMicrosoft版的な)とVBScriptが使えるみたい。実際に書いてみたらこんな感じになった。
<job id="main"> <script language="JavaScript"> var objWshShell; var proxy; objWshShell = WScript.CreateObject("WScript.Shell"); proxy = objWshShell.RegRead("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ProxyEnable"); if(proxy == 0){ objWshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ProxyEnable",1,"REG_DWORD"); WScript.Echo("プロキシ設定を オン にしました"); }else if(proxy == 1){ objWshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ProxyEnable",0,"REG_DWORD"); WScript.Echo("プロキシ設定を オフ にしました"); } </script> </job>
拡張子は「.wsf」を使えば、XMLコードを含めて複数の言語を混在させて記述ができるようになるみたい。今回はJScriptしか使ってないが。
CreateObjectでオブジェクトを作成し、RegReadで対応するレジストリ値を呼び出してRegWriteで0と1を書き換えてるだけです。
簡単ですね。
で、これ起動させれば対応する設定部分が切り替わるってわけ。w
ちょい書き換えればいろんな設定の切り替えに使えると思います。一応レジストリを弄るので自己責任でお願いしますヨ。
ていうかプロキシサーバーなら自動構成スクリプトを使うよね。