首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请帮忙做个dll导出函数解决方法

2012-03-13 
请帮忙做个dll导出函数文章在这里http://www.codeproject.com/internet/changeproxy1.asp?df100&forumid

请帮忙做个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很简单的

热点排行