如何寫程式設定 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
全站熱搜
留言列表