本帖最后由 bcrun 于 2011-08-16 19:13:35 编辑

解决方案 »

  1.   

    你的State是局部变量啊,怎么能得到正确结果呢?
      

  2.   

    注意到ByVal State As Integer了吗?
    Private Sub Label1_Click()去哪里找State呢?
    所以,请打开VB6,工具、选项、编辑器,“要求声明变量”打钩,确定,再运行……
      

  3.   


    我按你方法,还是不行哦。还是取不到state的值。。
      

  4.   

    1、在声明处加上:
    Private InetState As Integer '不能用State作变量名,因为会与Inet1_StateChanged中的变量产生冲突
    2、
    Private Sub Inet1_StateChanged(ByVal State As Integer)
    这一句之后加上
    InetState=State
    3、If State = 11 Then 改为If InetState = 11 Then 
      

  5.   

    试了一下,InetState取到的值是0?和state不同哦。。正常网络state取的是12,而InetState是0?
    说明还是不行
      

  6.   

    我发现一个问题,因为我里面有一个 Private Sub Command1_Click() 按钮。
    我点击这个后,先执行MsgBox state后,然后再执行你的MsgBox InetState就有值了也就是说,需要先执行state然后inetstate才有?
      

  7.   

    你必须要先执行Execute或OpenURL后Inet1_StateChanged事件才会发生,所以你不能在未使用Inet控件之前根据Inet的state判断网络是否连接,InetState只保存Inet的最后一次State值