掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
インターネットオプションを変更させるには? (ID:110808)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
解決とは思いますが、 http://www.codeproject.com/internet/changeproxy1.asp のサンプルをVB6に移してみました。 機会があれば試してみてください。 ' Form1.frm Option Explicit Private Sub Command1_Click(Index As Integer) Dim conn_name As String Dim proxy_full_addr As String conn_name = "RAS接続名"(LANの場合、vbNullString) proxy_full_addr = "プロキシアドレス:ポート"(例 "62.81.236.23:80") Select Case Index Case 0 ' set proxy Call SetConnectionOptions(conn_name, proxy_full_addr) Case 1 ' disable proxy Call DisableConnectionProxy(conn_name) End Select End Sub ' Module1.bas Option Explicit Private Type INTERNET_PER_CONN_OPTION dwOption As Long dwValue1 As Long dwValue2 As Long End Type Private Type INTERNET_PER_CONN_OPTION_LIST dwSize As Long pszConnection As Long dwOptionCount As Long dwOptionError As Long pOptions As Long End Type Private Const INTERNET_PER_CONN_FLAGS As Long = 1 Private Const INTERNET_PER_CONN_PROXY_SERVER As Long = 2 Private Const INTERNET_PER_CONN_PROXY_BYPASS As Long = 3 Private Const PROXY_TYPE_DIRECT As Long = &H1 Private Const PROXY_TYPE_PROXY As Long = &H2 Private Const INTERNET_OPTION_REFRESH As Long = 37 Private Const INTERNET_OPTION_SETTINGS_CHANGED As Long = 39 Private Const INTERNET_OPTION_PER_CONNECTION_OPTION As Long = 75 Private Declare Function InternetSetOption _ Lib "wininet.dll" Alias "InternetSetOptionA" ( _ ByVal hInternet As Long, ByVal dwOption As Long, _ lpBuffer As Any, ByVal dwBufferLength As Long) As Long Private Declare Function GlobalFree Lib "kernel32" ( _ ByVal hMem As Long) As Long '//set proxy Public Function SetConnectionOptions(ByVal conn_name As String, _ ByVal proxy_full_addr As String) As Long '//conn_name: active connection name. (LAN = "") '//proxy_full_addr : eg "210.78.22.87:8000" Dim list As INTERNET_PER_CONN_OPTION_LIST Dim bReturn As Long Dim dwBufSize As Long Dim options(0 To 2) As INTERNET_PER_CONN_OPTION Dim abConnName() As Byte Dim abProxyServer() As Byte Dim abProxyBypass() As Byte dwBufSize = Len(list) '// Fill out list struct. list.dwSize = Len(list) '// NULL == LAN, otherwise connectoid name. abConnName() = StrConv(conn_name & vbNullChar, vbFromUnicode) list.pszConnection = VarPtr(abConnName(0)) '// Set three options. list.dwOptionCount = 3 '// Set flags. options(0).dwOption = INTERNET_PER_CONN_FLAGS options(0).dwValue1 = PROXY_TYPE_DIRECT Or PROXY_TYPE_PROXY '// Set proxy name. options(1).dwOption = INTERNET_PER_CONN_PROXY_SERVER abProxyServer() = StrConv(proxy_full_addr & vbNullChar, vbFromUnicode) options(1).dwValue1 = VarPtr(abProxyServer(0)) '//"http://proxy:80" '// Set proxy override. options(2).dwOption = INTERNET_PER_CONN_PROXY_BYPASS abProxyBypass() = StrConv("local" & vbNullChar, vbFromUnicode) options(2).dwValue1 = VarPtr(abProxyBypass(0)) list.pOptions = VarPtr(options(0)) '// Make sure the memory was allocated. If (0& = list.pOptions) Then '// Return FALSE if the memory wasn't allocated. Debug.Print "failed to allocat memory in SetConnectionOptions()" SetConnectionOptions = 0 End If '// Set the options on the connection. bReturn = InternetSetOption(0, INTERNET_OPTION_PER_CONNECTION_OPTION, list, dwBufSize) '// Free the allocated memory. Call GlobalFree(list.pOptions) Call InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, ByVal 0&, 0) Call InternetSetOption(0, INTERNET_OPTION_REFRESH, ByVal 0&, 0) SetConnectionOptions = bReturn End Function '//disable proxy Public Function DisableConnectionProxy(ByVal conn_name As String) As Long '//conn_name: active connection name. (LAN = "") Dim list As INTERNET_PER_CONN_OPTION_LIST Dim bReturn As Long Dim dwBufSize As Long Dim options(0) As INTERNET_PER_CONN_OPTION Dim abConnName() As Byte dwBufSize = Len(list) '// Fill out list struct. list.dwSize = Len(list) '// NULL == LAN, otherwise connectoid name. abConnName() = StrConv(conn_name & vbNullChar, vbFromUnicode) list.pszConnection = VarPtr(abConnName(0)) '// Set three options. list.dwOptionCount = 1 '// Set flags. options(0).dwOption = INTERNET_PER_CONN_FLAGS options(0).dwValue1 = PROXY_TYPE_DIRECT list.pOptions = VarPtr(options(0)) '// Make sure the memory was allocated. If (0 = list.pOptions) Then '// Return FALSE if the memory wasn't allocated. Debug.Print "failed to allocat memory in DisableConnectionProxy()" DisableConnectionProxy = 0 End If '// Set the options on the connection. bReturn = InternetSetOption(0, INTERNET_OPTION_PER_CONNECTION_OPTION, list, dwBufSize) '// Free the allocated memory. Call GlobalFree(list.pOptions) Call InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, ByVal 0&, 0) Call InternetSetOption(0, INTERNET_OPTION_REFRESH, ByVal 0&, 0) DisableConnectionProxy = bReturn End Function
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.