只用vb做不到,因为不能生成真正的DLL。
但VB做客户端非常理想。
sysinternals.com有几个例子。

解决方案 »

  1.   

    在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键的系统级的热键。 转载
      

  2.   

    我知道怎样定义热键!(除了单独定义如shift、alt等,如果你知道也麻烦告诉我,不胜感激!)
    但是我问得好象不是这个问题!