当前位置:编程学习 > VB >>

求助钓子函数SetWindowsHookEx中的WH_JOURNALPLAYBACK功能实现模拟按键

本人近日想开发一个键盘按键模拟软件.因大部分api功能都给游戏封锁掉.后发现使用钓子函数SetWindowsHookEx中的WH_JOURNALPLAYBACK功能有效实现模拟,但苦于对eventesg结构认识不深,没法有效控制按键的输出.

网上找来的例子大多数是讲键盘鼠标的录制的,本人并非要实现这种功能,而是通过SetWindowsHookEx中的WH_JOURNALPLAYBACK功能实现按一个键,如:字母A等.,请高手指教,最好能附上例程. --------------------编程问答-------------------- keybord_event 不是可以模拟吗? --------------------编程问答--------------------
引用 1 楼 wubirong 的回复:
keybord_event 不是可以模拟吗?
早给封了,包括sendmessage,postmessage,winio,key_event --------------------编程问答-------------------- Public Function NewWindowProc(ByVal hw As Long, ByVal uMsg As Long, _
      ByVal wParam As Long, ByVal lParam As Long) As Long
      Dim lpPrevWndProc As Long
      Dim pcount As Long
      Dim rvdata As data_record
      Dim mess(1 To 1024) As Byte
      Dim result As Long

      
      If uMsg = (WM_USER + 103) Then
         ''''''''''''''''''''''''''''信息需要改动,这里是处理
          '下面是释放
       Else
      
      '将消息传递给原来的处理函数,这一行代码是必须的,否则其它消息无法处理
      NewWindowProc = CallWindowProc(OldWindow, hw, uMsg, wParam, lParam)
end sub
'diao yong
Public Sub Hook(ByVal hwnd As Long)
      Dim pOld As Long
      Dim temp As Long
      '指定自定义的窗口过程
      OldWindow = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf NewWindowProc)

End Sub

'chufa
sub vitual_click()
       Hook (MainForm.hwnd)
end  sub

'tuichu
Public Sub Unhook(ByVal hwnd As Long)
      Dim temp As Long
      'Cease subclassing.
      temp = SetWindowLong(hwnd, GWL_WNDPROC, OldWindow)
End Sub

'end 
Unhook MainForm.hwnd --------------------编程问答-------------------- 谢谢。楼上的指点。我试下行不行。
补充:VB ,  API
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,