zoukankan      html  css  js  c++  java
  • 调用API为程序实例设置代理(VB)

    在《VB设置WebBrowser的COOKIE、临时文件夹等路径》一文中,我们介绍了为Webbrowser设置cookie路径的方法,同理可以为Webbrowser设置代理。但是如果程序中没有Webbrowser控件,用到了其他的网络功能,怎么设置代理呢?我们可以调用wininet.dll中的InternetSetOption函数。好了,直接给出核心代码。

    '========================================
    '声明作用:为本实例设置代理
    '========================================
    Private Const INTERNET_OPTION_PROXY = 38
    Private Const URLMON_OPTION_USERAGENT = &H10000001
    Private Const INTERNET_OPEN_TYPE_PROXY = 3
    Private Const INTERNET_OPTION_SETTINGS_CHANGED = 39
    Private Declare Sub UrlMkSetSessionOption Lib "urlmon.dll" (ByVal dwOption As Long, pbuffer As Any, ByVal dwBufferLength As Long, ByVal dwreserved As Long)
    Private Type INTERNET_PROXY_INFO
        dwAccessType    As Long
        lpszProxy       As String
        lpszProxyBypass As String
    End Type
    Private Declare Function InternetSetOption Lib "wininet.dll" _
        Alias "InternetSetOptionA" _
        (ByVal hInternet As Long, _
        ByVal dwOption As Long, _
        ByRef lpBuffer As Any, _
        ByVal dwBufferLength As Long) As Long

    '========================================
    '函数名称:SetProxy
    '函数作用:为本实例设置代理
    '函数参数:比如SOCKS=127.0.0.1:1987
    '========================================
    Public Function SetProxy(ByVal Proxy As String)
        Dim options As INTERNET_PROXY_INFO
        options.dwAccessType = INTERNET_OPEN_TYPE_PROXY
        options.lpszProxy = Proxy
        options.lpszProxyBypass = ""
        InternetSetOption 0, INTERNET_OPTION_PROXY, options, LenB(options)
        InternetSetOption INTERNET_OPTION_SETTINGS_CHANGED, 0, 0, 0
    End Function

  • 相关阅读:
    flash动态加载多张图片
    使用ASPJPEG添加水印的方法
    利用数据库复制技术 实现数据同步更新
    ASP.NET 2.0中发送电子邮件
    .net2.0 自定义CheckBoxList验证控件
    c#动态创建存储过程中,提示'go' 附近有语法错误解决方案
    MSDB数据库置疑状态的解决方法
    ASP.NET发送邮件_相关参数
    SQL数据库msdb置疑(急)
    SQL2000数据库脱机/只读/紧急模式 修复
  • 原文地址:https://www.cnblogs.com/hackpig/p/1668350.html
Copyright © 2011-2022 走看看