请帮忙做个dll导出函数
文章在这里
http://www.codeproject.com/internet/changeproxy1.asp?df=100&forumid=14514&exp=0&select=1598073
请做个
BOOL SetConnectionOptions
和
BOOL DisableConnectionProxy
导出
我要用VB调用
本来我想转换为VB代码,可是运行到internetsetoption就崩溃了
如果有会VB的,请指导下
Public Enum MyOptions
INTERNET_PER_CONN_FLAGS = 1
INTERNET_PER_CONN_PROXY_SERVER = 2
INTERNET_PER_CONN_PROXY_BYPASS = 3
INTERNET_PER_CONN_AUTOCONFIG_URL = 4
INTERNET_PER_CONN_AUTODISCOVERY_FLAGS = 5
INTERNET_OPTION_REFRESH = 37
INTERNET_OPTION_PER_CONNECTION_OPTION = 75
INTERNET_OPTION_SETTINGS_CHANGED = 39
PROXY_TYPE_PROXY = &H2
PROXY_TYPE_DIRECT = &H1
End Enum
Private Type value
value As Long
End Type
Private Type INTERNET_PER_CONN_OPTION
dwOption As MyOptions
value As value
End Type
Public Type INTERNET_PER_CONN_OPTION_LIST
dwSize As Integer
pszConnection As String
dwOptionCount As Integer
dwOptionError As Integer
pOptions(2) As INTERNET_PER_CONN_OPTION
End Type
Private Const ERROR_INSUFFICIENT_BUFFER = 122
Private Const INTERNET_OPTION_PROXY = 38
Private Const INTERNET_OPEN_TYPE_DIRECT = 1
Public Declare Function InternetSetOption Lib "wininet.dll " Alias "InternetSetOptionA " (ByVal hInternet As Long, ByVal lOption As Long, ByRef sBuffer As Any, ByVal lBufferLength As Long) As Long
Public Function SetConnectionOptions(conn_name As String, proxy_full_addr As String) As Boolean
'//conn_name: active connection name.
'//proxy_full_addr : eg "210.78.22.87:8000 "
Dim list As INTERNET_PER_CONN_OPTION_LIST
Dim dwBufSize As Long
dwBufSize = Len(list)
'// Fill out list struct.
list.dwSize = Len(list)
'// NULL == LAN, otherwise connectoid name.
list.pszConnection = conn_name
'// Set three options.
list.dwOptionCount = 3
' ' ' ' ' ' ' ' ' ' ' '// Make sure the memory was allocated.
'// Set flags.
list.pOptions(0).dwOption = INTERNET_PER_CONN_FLAGS
list.pOptions(0).value.value = PROXY_TYPE_DIRECT Or PROXY_TYPE_PROXY
'// Set proxy name.
list.pOptions(1).dwOption = INTERNET_PER_CONN_PROXY_SERVER
list.pOptions(1).value.value = StrPtr(proxy_full_addr) '// "http://proxy:80 ";
'// Set proxy override.
list.pOptions(2).dwOption = INTERNET_PER_CONN_PROXY_BYPASS
Dim s As String
s = "local "
list.pOptions(2).value.value = StrPtr(s)
'// Set the options on the connection.
Dim bReturn As Long
bReturn = InternetSetOption(0, INTERNET_OPTION_PER_CONNECTION_OPTION, list, dwBufSize)
'// Free the allocated memory.
'delete [] list.pOptions;
InternetSetOption ByVal 0&, INTERNET_OPTION_SETTINGS_CHANGED, 0, 0
InternetSetOption ByVal 0&, INTERNET_OPTION_REFRESH, vbNull, 0
End Function
[解决办法]
http://www.vbgood.com/vb.good/article-do-view-articleid-3110.html
[解决办法]
有源码,你照着用VC写个Dll很简单的