小弟现在没分 如果谁能帮我解决这问题 我开个新号 补100分我要实现的是当在 记事本里按键时HOOK他的键盘按键  不要全局HOOK  就只要对某个程序来HOOK
我的代码如下,可是HOOK不了Private Sub Command1_Click()
    Dim hwnd, pid As Long
    hwnd = FindWindow(vbNullString, "无标题 - 记事本")
    If hwnd = 0 Then MsgBox "Hwnd = 0"
    Call GetWindowThreadProcessId(hwnd, pid)
    If pid = 0 Then MsgBox "pid = 0"
    hHook = SetWindowsHookEx(2, AddressOf Kris_KBHook, 0, pid)
    
End SubPrivate Sub Form_Unload(Cancel As Integer)
  Call UnhookWindowsHookEx(hHook)
End Sub----模块----Public Function Kris_KBHook(ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If ncode > 0 Then
Form1.List1.AddItem (wParam)
Form1.List1.ListIndex = Form1.List1.NewIndex
Kris_KBHook = 1 ''表示要处理这个消息End If
Call CallNextHookEx(hHook, ncode, wParam, lParam) ''将消息传给下一个钩子
End Function
问题出在哪里 ~~~~~~~~`