在98下可以用,但是到了XP怎么不行了?

解决方案 »

  1.   

    Const WH_KEYBOARD = 2Private Sub Form_Load()
         HKKeyboard = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardHookProc, App.hInstance, App.ThreadID)
    End SubPublic Function KeyboardHookProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
        If idHook < 0 Then
            KeyboardHookProc = CallNextHookEx(HKKeyboard, idHook, wParam, lParam)
        Else
            Debug.Print wParam
            If GetKeyState(vbKeyShift) < 0 And wParam = vbKeyF12 Then
                If Not bCD Then
                    Load frmCData
                    frmCData.Show
                End If
            End If
            KeyboardHookProc = CallNextHookEx(HKKeyboard, idHook, wParam, lParam)
        End If
    End Function在窗体Load过程中SetwindowsHookEx返回值老是为0为什么,程序在98下可以用的