如题,
因为要经常使用代理服务器,总要点好几次才能取消代理服务器,或选中

解决方案 »

  1.   

    Private Sub cmdOK_Click()
        Dim Section As String
        Dim Key As String
        'Dim Key1 As String
        
        Dim RegLocation As String
        Dim RegKeyName As String
        Dim RegValueName As String
        
        frmContainer.SendTimer.Enabled = False
        
        Section = "Net"
        If OptIeSet.Value = True Then                                       'IE缺省设置Proxy
            'MsgBox "IE"
            
            glo.strProxySrv = QueryValue(HKEY_CURRENT_USER, C_Proxy_RegKayName, C_Proxy_RegKeyVal)
            glo.strProxyPort = Mid(glo.strProxySrv, InStr(glo.strProxySrv, ":") + 1, 2)
            glo.strProxySrv = Left(glo.strProxySrv, InStr(glo.strProxySrv, ":") - 1)
            
            Key = "ProxyOption"
            If Not WriteIni(Section, Key, "2") Then
                If Not WriteLog(C_ERR_No_INIERR, C_ERR_WriteIniErr) Then
                    MsgBox "写日志文件错误", vbCritical, "警告"
                End If
            End If
            Key = "ProxySrv"
            If Not WriteIni(Section, Key, glo.strProxySrv) Then
                If Not WriteLog(C_ERR_No_INIERR, C_ERR_WriteIniErr) Then
                    MsgBox "写日志文件错误", vbCritical, "警告"
                End If
            End If
            Key = "ProxyPort"
            If Not WriteIni(Section, Key, glo.strProxyPort) Then
                If Not WriteLog(C_ERR_No_INIERR, C_ERR_WriteIniErr) Then
                    MsgBox "写日志文件错误", vbCritical, "警告"
                End If
            End If
            frmContainer.InetSender.AccessType = icNamedProxy
            frmContainer.InetPay.AccessType = icNamedProxy
            frmContainer.InetGetStatus.AccessType = icNamedProxy
            
            frmContainer.InetSender.Proxy = glo.strProxySrv & ":" & glo.strProxyPort
            frmContainer.InetPay.Proxy = glo.strProxySrv & ":" & glo.strProxyPort
            frmContainer.InetGetStatus.Proxy = glo.strProxySrv & ":" & glo.strProxyPort
            
        ElseIf OptUserSet.Value = True Then                                 '用户设置Proxy
            Key = "ProxyOption"
            If Not WriteIni(Section, Key, "1") Then
                If Not WriteLog(C_ERR_No_INIERR, C_ERR_WriteIniErr) Then
                    MsgBox "写日志文件错误", vbCritical, "警告"
                End If
            End If
            Key = "ProxySrv"
            If Not WriteIni(Section, Key, Trim(txtProxySrv.Text)) Then
                If Not WriteLog(C_ERR_No_INIERR, C_ERR_WriteIniErr) Then
                    MsgBox "写日志文件错误", vbCritical, "警告"
                End If
            End If
            Key = "ProxyPort"
            If Not WriteIni(Section, Key, Trim(txtProxyPort.Text)) Then
                If Not WriteLog(C_ERR_No_INIERR, C_ERR_WriteIniErr) Then
                    MsgBox "写日志文件错误", vbCritical, "警告"
                End If
            End If
            MsgBox "USER"
            frmContainer.InetSender.Proxy = Trim(txtProxySrv.Text) & ":" & Trim(txtProxyPort.Text)
            frmContainer.InetPay.Proxy = Trim(txtProxySrv.Text) & ":" & Trim(txtProxyPort.Text)
            frmContainer.InetGetStatus.Proxy = Trim(txtProxySrv.Text) & ":" & Trim(txtProxyPort.Text)
            
        Else                                                                '直接连接
            Key = "ProxyOption"
            If Not WriteIni(Section, Key, "0") Then
                If Not WriteLog(C_ERR_No_INIERR, C_ERR_WriteIniErr) Then
                    MsgBox "写日志文件错误", vbCritical, "警告"
                End If
            End If
            Key = "ProxySrv"
            If Not WriteIni(Section, Key, "") Then
                If Not WriteLog(C_ERR_No_INIERR, C_ERR_WriteIniErr) Then
                    MsgBox "写日志文件错误", vbCritical, "警告"
                End If
            End If
            Key = "ProxyPort"
            If Not WriteIni(Section, Key, "") Then
                If Not WriteLog(C_ERR_No_INIERR, C_ERR_WriteIniErr) Then
                    MsgBox "写日志文件错误", vbCritical, "警告"
                End If
            End If
            frmContainer.InetSender.AccessType = icDirect
            frmContainer.InetPay.AccessType = icDirect
            frmContainer.InetGetStatus.AccessType = icDirect
        End If
        frmContainer.SendTimer.Enabled = True
        Me.Hide
        Unload Me
    End SubPrivate Sub Form_Load()
        '根据ini文件设定代理服务器选项
        '直接连接
        If glo.strProxyOpt = "0" Or glo.strProxyOpt = "" Or IsNull(glo.strProxyOpt) Then
            OptDirect.Value = True
            txtProxySrv.Enabled = False
            txtProxyPort.Enabled = False
        '用户设定代理服务器
        ElseIf glo.strProxyOpt = "1" Then
            OptUserSet.Value = True
            txtProxySrv.Text = glo.strProxySrv
            txtProxyPort.Text = glo.strProxyPort
        '使用IE缺省代理服务器
        Else
            'OptUserSet.Enabled = False
            OptIeSet.Value = True
            txtProxyPort.Enabled = False
            txtProxySrv.Enabled = False
        End If
    End SubPrivate Sub OptDirect_Click()
        txtProxySrv.Enabled = False
        txtProxyPort.Enabled = False
    End SubPrivate Sub OptIeSet_Click()
        txtProxySrv.Enabled = False
        txtProxyPort.Enabled = False
    End SubPrivate Sub OptUserSet_Click()
        txtProxySrv.Enabled = True
        txtProxyPort.Enabled = True
    End Sub
      

  2.   

    不懂,你的form_load 里面的 glo是什么东西呀?