如何設定 IE 瀏覽器使用 Proxy Server

如何設定 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 , 僅寫法不同 , 一個較繁雜, 另一個較精簡