如何設定 IE 瀏覽器使用 Proxy Server
如何寫程式設定 IE 瀏覽器使用代理伺服器 ( Proxy Server )
<< VB6寫法 >>
方法1 :
使用 WSH 物件的 WScript.Shell 物件類別的 RegWrite 方法來修改登錄檔 , 透過登錄檔的修改,
設定IE ( Internet Explorer ) 瀏覽器 ( Browser ) 的網路連線 使用代理伺服器 ( Proxy Server )
呼叫端 :
ProxySettings("proxy.hinet.net:80", 1)
' Function
Public Sub ProxySettings(ByRef strAddress As String, ByRef intSwitch As Short)
Dim strKey As String
strKey = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
'Set Proxy Enabled Or Disable
' 1 = Enable , 0 = Disable
With CreateObject("WScript.Shell")
.RegWrite(strKey & "\ProxyEnable", intSwitch, "REG_DWORD")
.RegWrite(strKey & "\ProxyServer", strAddress, "REG_SZ")
End With
End Sub
================================================================
方法2 :
使用 WMI 物件的 Win32_Proxy 物件類別
呼叫端 :
Set_IE_Proxy "proxy.hinet.net", 80
' Function
Private Function Set_IE_Proxy(strProxy As String, intPort As Integer) As Boolean
On Error Resume Next
Const strWMIcls = "Win32_Proxy" ' WMI Class
GetObject("winmgmts:").InstancesOf(strWMIcls) _
(strWMIcls & ".ServerName=""" & Environ("ComputerName") & """") _
.SetProxySetting strProxy, intPort ' 設定 Proxy Server , Port
Set_IE_Proxy = (Err = 0)
End Function
================================================================
<< VB.Net 寫法 >>
使用 WMI 物件的 Win32_Proxy 物件類別
請先加入參考 System.Management
Imports System.Management
寫法1 :
' 呼叫端
SetProxy("proxy.hinet.net", 80) ' Set Proxy Server
' Function 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
================================================================
寫法2 :
' 呼叫端
SetProxyServer("proxy.hinet.net", 80) ' Set Proxy Server
' Function 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
PS : Function 1 跟 2 , 僅寫法不同 , 一個較繁雜, 另一個較精簡