有!我还用过,用vb做的键盘和鼠标的hook,是huangguanshu给我的.

解决方案 »

  1.   

    主要部件 普通DLL 可以用它来写:http://www.banasoft.com/MakeEx.htm
      

  2.   

    huangguanshu做的
    我这里有
    要我可以发给你
    但请你把分给huangguanshu
      

  3.   

    不需要外部DLL,用在VB里面用纯API就可以了。
      

  4.   

    HOK其实可以不写以前不是有个hookkey.dll的钩子DLL吗?在VB里调用就可以
    还有个变态的方法。用DirectInput的keyboard类实现hook功能。要求别人的机器必须有DirectX7
      

  5.   

    下面的程序不知道能否满足你的要求:
    在FormLoad中加入以下代码:
      gHW = Me.hwnd
      Call RegisterHotKey(gHW, 0, 0, vbKeyF8)
      Hook
    增加一个全局模块,其中有如下代码:
    Public Sub Hook()
       lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, AddressOf WindowProc)
    End SubPublic Sub Unhook()
       Dim temp As Long
       temp = SetWindowLong(gHW, GWL_WNDPROC, lpPrevWndProc)
    End SubFunction WindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
      If uMsg = WM_HOTKEY Then
        If form1.cmdStart.Enabled = True Then
          form1.cmdStart_Click
          Exit Function
        End If
      End If
       WindowProc = CallWindowProc(lpPrevWndProc, hw, uMsg, wParam, lParam)
    End Function
    自己注意一下参数声明吧。
    这是我几年前的程序了,可以实现对F8键的系统级的热键。
      

  6.   

    不用DLL的话,只能拦截本线程内的键盘消息,全局的不行。
      

  7.   

    我是本帖给分人。几个问题:1 我用VC写了一个DLL的声卡捕捉程序,VB做了界面,调用DLL,后来为了给程序加热键功能,在VB里写了热键功能,如 上面 Mercedes 同志的方法一样。但是如果我想截游戏音乐,就是DIRETX模式下的时候,这种热键已经失效,所以我想用全局钩子的方法实现。但是单独用VC再写一个全局DLL有点困难,才想问大家要现成的代码。谢谢大家的回答。2 nyxi(南野秀一)老兄,你说的 HOOKKEY。DLL 哪里有,能给代码吗?具体这个DLL在VB里调用又是怎么操作的呢。另外对你那个变态方法非常非常感兴趣!因为正好解决我的问题,能不用全局钩子我也尽量不会用的。能告诉我变态的详细方法吗?[email protected]
      

  8.   


    用VC或Delphi做DLL吧,VB会把你搞晕的。我就晕过。