发贴求救关于VB6定时器问题,
Private Sub Form_Load() '打开界面时 Menu = LED_MENU '界面命名 tmrConnect.Enabled = True lpPrev = SetWindowLongA(hwnd, GWL_WNDPROC, AddressOf WndProc)End SubPrivate Sub Form_UnLoad(Cancel As Integer) '关闭界面时 tmrConnect.Enabled = False '关闭查找USB定时器 tmrData.Enabled = False '关闭USB数据发收的定时器 Menu = MAIN_MENU If lpPrev <> 0 Then lpPrev = SetWindowLongA(hwnd, GWL_WNDPROC, lpPrev) lpPrev = 0 End IfEnd SubPrivate Sub tmrConnect_Timer() '查检USB状态 Call ConnectRMC '查找USB设备 If FindTheHid = True Then '找到了 tmrConnect.Enabled = False '关闭查找 tmrData.Enabled = True '数据收发 Else tmrData.Enabled = False '没找到,关闭数据发&收 tmrConnect.Enabled = True ' End IfEnd SubPrivate Sub tmrData_Timer() '数据数据收发 '主要是以定时的方式(暂定100ms发一次)向USB设备发送数据,然后读取数据 '代码若干,不贴了End SubPublic Function WndProc(ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long '消息拦截 当有消息时候会在这里出现 If msg = WM_DEVICECHANGE Then '此次是检查USB设备的连接状态 Select Case Menu Case NET_MENU DeviceNet.tmrUSB.Enabled = True Case LED_MENU '在LED界面下,如果发生了改变时重新查找USB设备([color=#FF0000]此处设了一断点[/color]) LEDsignal.tmrConnect.Enabled = True Case CH_MENU SelectCH.tmrTelCom.Enabled = True Case Else End Select End If WndProc = CallWindowProcA(lpPrev, hwnd, msg, wParam, lParam) '返回消息给系统否则系统所有消息都被拦截 你的电脑几乎就是废了 关机都不行End Function