方法一:
Imports System.Management
' 调用方式:
SetProxy("proxy.hinet.net", 80) ' Set Proxy Server
' 方法1
Private Sub SetProxy(ByVal strAddress As String, ByVal intPort As Integer)
' 初始化 ManagementObjectSearcher 类别的新执行个体 (Instance)。
' 取回一个 WMI 对象基底之查询的 集合对象(Collection)
Dim objSearch As New ManagementObjectSearcher("SELECT * FROM WIN32_PROXY")
Dim objPxy As ManagementObject ' 宣告 ManagementObject 数据管理对象
Dim objMBO As ManagementBaseObject ' 宣告 ManagementBaseObject 管理对象的基本类别
' 列举出 Win32_Proxy WMI 类别中每一个代理服务器 (成员)
For Each objPxy In objSearch.Get() ' 使用 Get 方法, 叫用指定的 WMI 查询,并传回产生的集合。
objMBO = objPxy.GetMethodParameters("SetProxySetting") ' 用GetMethodParameters 方法取得输入参数
objMBO.SetPropertyValue("ProxyServer", strAddress) ' 设定属性 , 代理服务器位置
objMBO.SetPropertyValue("ProxyPortNumber", intPort) ' 设定属性 , 代理服务器 Port
' 在对象上叫用方法 ( SetProxySetting ) , 并传入自变量 ( 参数物件 )
objPxy.InvokeMethod("SetProxySetting", objMBO, Nothing)
Next
End Sub
方法二
' 调用方式:
SetProxyServer("proxy.hinet.net", 80) ' Set Proxy Server
' 方法2
Private Sub SetProxyServer(ByVal strAddress As String, ByVal intPort As Integer)
Dim strPath As String ' Management Path
strPath = "Win32_Proxy.ServerName=""" & Environ("ComputerName") & """"
Dim objWMI As New ManagementObject(strPath) ' 初始化新执行个体 (Instance)。
Dim objMBO As ManagementBaseObject ' 宣告管理对象的基本类别
objMBO = objWMI.GetMethodParameters("SetProxySetting") ' 取得参数
objMBO!ProxyServer = strAddress ' 设定代理服务器位置
objMBO!ProxyPortNumber = intPort ' 设定代理服务器Port
' 呼叫 SetProxySetting 方法并传入参数
objWMI.InvokeMethod("SetProxySetting", objMBO, Nothing)
End Sub