VB6关于USB接入或者拔出消息的捕获事件问题
- VB code
Public 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 '当消息是 磁盘发生改变 'MsgBox ("USB Changed !") If DeviceNet.Visible = True Then '在这个界面下,拔插USB开启tmrUSB定时器 If TelConnect = 1 Then TelConnect = 0 End If DeviceNet.tmrUSB.Enabled = True ElseIf LEDsignal.Visible = True Then ''在这个界面下,拔插USB开启tmrConnect定时器 If TelConnect = 1 Then TelConnect = 0 End If LEDsignal.tmrConnect.Enabled = True ElseIf SelectCH.Visible = True Then ''在这个界面下,拔插USB开启tmrTelCom定时器 If TelConnect = 1 Then TelConnect = 0 End If SelectCH.tmrTelCom.Enabled = True End If End If TelConnect = 0 'Call CloseUSB WndProc = CallWindowProcA(lpPrev, hwnd, msg, wParam, lParam) '返回消息给系统否则系统所有消息都被拦截 你的电脑几乎就是废了 关机都不行End Function
经调试发现不管当前界面为什么,所有定时器都开启。这是什么问题。
[解决办法]
代码中启用各个定时器的逻辑是正确的.
但是却没有看到停用定时器的代码.
另外,定时器的默认状态是启用还是停用?