提一个比较笨的办法,可能有api能够解决的,在load事件里定义一个静态变量可以解决

解决方案 »

  1.   

    xtra说得对,我现在用vb6试了一下,没有问题的,不过我想可以判断他是第几次load,然后看看是否需要检查文件关联
      

  2.   

    用一个timer控件也可控制,在窗口ACTIVE事件激发时调用此控件,随后将endable属性设为false.
      

  3.   

    对不起由于昨天发完帖子就下了,所以今天才帖出来,请各位虾哥帮忙当然,代码中还有SENDMESSAGE函数。。我想是不是因为它?Private Sub Form_Load()
    On Error Resume Next
        tvTreeView.Nodes.Add , 0, "MyComputer", "我的电脑", "MyComputer"
        '获取驱动器信息
        Dim BufLen As Integer
        Dim DrvStr As String
            BufLen = 256
            DrvStr = Space(BufLen)
            BufLen = GetLogicalDriveStrings(BufLen, DrvStr)
            DrvStr = Left(DrvStr, BufLen - 1)
        Dim i As Integer
        For i = 1 To BufLen - 1 Step 4
        Dim Drv As String
            Drv = Mid(DrvStr, i, 3)
        Dim DrvType As Long
            DrvType = GetDriveType(Drv)
            Select Case DrvType
                Case DRIVE_FIXED
                    tvTreeView.Nodes.Add "MyComputer", 4, Drv, Drv, "Drive"
                Case DRIVE_REMOTE
                    tvTreeView.Nodes.Add "MyComputer", 4, Drv, Drv, "DriveNet"
                Case DRIVE_CDROM
                    tvTreeView.Nodes.Add "MyComputer", 4, Drv, Drv, "Cddrive"
                Case DRIVE_REMOVABLE
                    tvTreeView.Nodes.Add "MyComputer", 4, Drv, Drv, "Floppy"
            End Select
        Next i
        '获取子目录信息
        For i = 1 To BufLen - 1 Step 4
            Drv = Mid(DrvStr, i, 3)
        Dim Name As String
        Name = Dir(Drv, vbDirectory)
        Do While Name <> ""
            If Name <> "." Or Name <> ".." Then
            
                If (GetAttr(Drv & Name) And vbDirectory) = vbDirectory Then
                    tvTreeView.Nodes.Add Drv, 4, Name, Name, "Close", "Open"
                End If
        
            End If
            
            Name = Dir
        Loop
        Next i
        
        '获取原来读取过的目录
        Dim Path As Variant, PathInt As Integer
        Path = GetAllSettings(App.Title, "Path")
            For PathInt = LBound(Path, 1) To UBound(Path, 1)            cmbAddress.AddItem Path(PathInt, 1)
            
            Next PathInt
        
        Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)
        Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000)
        Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500)
        Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)
        
        lvListView.View = Val(GetSetting(App.Title, "Settings", "ViewMode", "0"))
        mnuListViewMode(lvListView.View).Checked = TrueEnd Sub
    Private Sub picPreView_DblClick()
        If FullView Then
            FullView = False
            Me.WindowState = 0
            Call Form_Resize
        Else
            Call mnuFullView_Click
            FullView = True
        End If
    End Sub
    遇到ME。WINDOWSTATE语句就要除法LOAD事件?为什么?