如何屏蔽鼠标
屏蔽键盘使其只响应数字键???
高手帮忙?

解决方案 »

  1.   

    If KeyAscii = 8 Then Exit Sub
    If Not IsNumeric(Chr(KeyAscii)) Then
      KeyAscii = 0
    End If
      

  2.   

    http://www.zjol.com.cn/vbbible/software/program/vb/ccw/htmapi46.htm
      

  3.   

    转贴:Public Function funEnableKBDHook(ByVal lFlag As Long, Optional nLeft As Long = 0, Optional nTop As Long = 0) 
    '****************************************************************** 
    '功    能:锁键盘和鼠标 
    '参    数:lFlag    0 ---- 解锁 1 ---- 加锁 
    '          nLeft,nTop 锁鼠标的起始位置 
    '返    回:无 
    '修改时间:1999-11-29 
    '开 发 者:YIHUI 
    '******************************************************************* Select Case lFlag 
      '解锁 
      Case 0 
        If hnexthookproc <> 0 Then 
          UnhookWindowsHookEx hnexthookproc 
          hnexthookproc = 0 
        End If 
        subUnLockMouseCursor 
        Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, CStr(1), 0) 
        Screen.MousePointer = vbDefault 
      '加锁 
      Case 1 
        Screen.MousePointer = vbArrowHourglass 
        If hnexthookproc <> 0 Then 
          Exit Function 
        End If 
        hnexthookproc = SetWindowsHookEx(WH_KEYBOARD, AddressOf funMyKBHFunc, App.hInstance, 0) 
        If hnexthookproc <> 0 Then 
         funEnableKBDHook = hnexthookproc 
        End If 
        funLockMouseCursor 400, 400 
    End Select 
    End Function Public Function funLockMouseCursor(Optional nLeft As Long = 0, Optional nTop As Long = 0) As Boolean 
    '**************************************************************************** 
    '功    能:锁鼠标 
    '参    数:nLeft,nTop 锁鼠标的起始位置 
    '返    回:成功返回 TRUE 否则返回 FALSE 
    '修改时间:1999-11-29 
    '开 发 者:YIHUI 
    '**************************************************************************** Dim Rect5 As RECT 
    Dim result As Long 
    On Error Resume Next 
    Rect5.Top = nTop 
    Rect5.Left = nLeft 
    Rect5.Bottom = nTop + 1 
    Rect5.Right = nLeft + 1 
    SetCursorPos (Rect5.Top + Rect5.Bottom) \ 2, (Rect5.Left + Rect5.Right) \ 2 result = ClipCursor(Rect5) 
    If result = 1 Then 
      funLockMouseCursor = True 
    Else 
      funLockMouseCursor = False 
    End If 
    End Function Public Sub subUnLockMouseCursor() 
    '**************************************************************************** 
    '功    能:设定Mouse移动的围为个萤幕 
    '参    数:无 
    '返    回:无 
    '修改时间:1999-11-29 
    '开 发 者:YIHUI 
    '**************************************************************************** Dim rscreen As RECT 
    rscreen.Top = 0 
    rscreen.Left = 0 
    rscreen.Right = Screen.Width \ Screen.TwipsPerPixelX 
    rscreen.Bottom = Screen.Height \ Screen.TwipsPerPixelY 
    ClipCursor rscreen 
    End Sub 
    锁鼠标很简单--用ClipCursor函数,将那个Rect设为一个点就行了