質問者
VBSでレジストリを操作せずにプロキシ設定ON,OFFを変更する方法

質問
-
VBSでレジストリを操作せずにプロキシ設定ON,OFFを変更する方法は有りますでしょうか?
下記のページにレジストリを直接参照しなくてもプロキシ設定を参照できる内容のプログラムがありますが
Set oService = oLocator.ConnectServer(, "Root\CIMV2\Applications\MicrosoftIE")の所で無効な名前空間とエラーが出ます。
Windows vista以降ではRoot\CIMV2\Applications\MicrosoftIEはなくなってしまったのでしょうか?
それとも別の名前に代わってしまったのでしょうか?
「http://www.wmifun.net/sample/microsoftie_lansettings.html」
------------------------------------------------------------------------------------------------------------------------------------
Option Explicit
'WMIにて使用する各種オブジェクトを定義・生成する。
Dim oClassSet
Dim oClass
Dim oLocator
Dim oService
Dim sMesStr
'ローカルコンピュータに接続する。
Set oLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set oService = oLocator.ConnectServer(, "Root\CIMV2\Applications\MicrosoftIE")
'クエリー条件をWQLにて指定する。
Set oClassSet = oService.ExecQuery("Select * From MicrosoftIE_LanSettings")
'コレクションを解析する。
For Each oClass In oClassSet
sMesStr = "プロキシ サーバーを使用する:" & oClass.Proxy & vbCrLf & _
"アドレス:" & oClass.ProxyServer & vbCrLf & _
"例外:" & oClass.ProxyOverride
Next
MsgBox ("Internet ExplorerのProxy設定です。" & vbCrLf & vbCrLf & sMesStr)
'使用した各種オブジェクトを後片付けする。
Set oClassSet = Nothing
Set oClass = Nothing
Set oService = Nothing
Set oLocator = Nothing-----------------------------------------------------------------------------------------------------------------------------------------
すべての返信
-
はじめまして、試してみたところ私の環境(Windows8.1とWindows10)でも
Root\CIMV2\Applications\MicrosoftIE
を開くことができませんでした。いつかのタイミングで開けなくなったようですね。
レジストリを操作せずにプロキシ設定ON,OFFを変更する方法ですが、
InternetSetOptionを使用すれば直接レジストリを触らずに変更できるようです。
https://social.msdn.microsoft.com/Forums/ja-JP/f4dc3550-f213-41ff-a17d-95c917bed027/webbrowser-control-for-setting-proxy?forum=winforms
のphysicforさんの投稿が参考になるかと思います。
よろしくお願いします。
-
physicforさんのサンプルの下記の部分は、VBA(Visual Basic for Applications)では使えるけどVBScriptでは使えない機能のような気がします。
> Private Declare Function InternetSetOption _
下記ページのVBScriptで使えないVBAの機能の一覧にDeclareが載っています。
Visual Basic for Applications Features Not In VBScript
https://msdn.microsoft.com/en-us/library/30593abb(v=vs.84).aspx> Declare (for declaring DLLs) Optional ParamArray Static