VB 全局Hook鼠标钩子,获取鼠标单击左键、鼠标坐标位置等。
以下是鼠标的按键消息:

按下 释放 按下(双击)
WM_NCLBUTTONDOWN=&HA1 WM_NCLBUTTONUP=&HA2 WM_NCLBUTTONDBLCLK=&HA3
WM_NCMBUTTONDOWN=&HA7 WM_NCMBUTTONUP=&HA8 WM_NCMBUTTONDBLCLK=&HA9
WM_NCRBUTTONDOWN=&HA4 WM_NCRBUTTONUP=&HA5 WM_NCRBUTTONDBLCLK=&HA6

form代码如下:

Option Explicit
Private Sub Form_Load()
    HooK
End Sub

Private Sub Form_Unload(Cancel As Integer)
    UnHooK
End Sub

Module代码:

Private Declare Function CallNextHookEx Lib "user32" _
                          (ByVal hHook As Long, _
                          ByVal nCode As Long, _
                          ByVal wParam As Long, _
                          lParam As Any) As Long

Private Declare Function SetWindowsHookEx Lib "user32" _
                          Alias "SetWindowsHookExA" _
                          (ByVal idHook As Long, _
                          ByVal lpfn As Long, _
                          ByVal hmod As Long, _
                          ByVal dwThreadId As Long) As Long

Private Declare Function UnhookWindowsHookEx Lib "user32" _
                          (ByVal hHook As Long) As Long

Private Declare Sub CopyMemory Lib "kernel32" _
                          Alias "RtlMoveMemory" _
                          (Destination As Any, _
                          Source As Any, _
                          ByVal Length As Long)

Private Type POINTAPI
    x As Long
    y As Long
End Type

Private Type MSLLHOOKSTRUCT
    pt As POINTAPI
    mouseData As Long
    Flags As Long
    time As Long
    dwExtraInfo As Long
End Type

Private Const WM_LBUTTONUP = &H202
Private Const WH_MOUSE_LL = 14

Private hHook As Long

Public Function MouseHook(ByVal nCode As Long, _
                       ByVal wParam As Long, _
                       ByVal lParam As Long) As Long

Dim mhs As MSLLHOOKSTRUCT, pt As POINTAPI

If wParam = WM_LBUTTONUP Then
        Call CopyMemory(mhs, ByVal lParam, LenB(mhs))
        pt = mhs.pt
        Call CopyMemory(p, ByVal lParam, Len(p))
        Debug.Print "左键单击    坐标:" & pt.x & "  "; pt.y
    End If

Call CallNextHookEx(hHook, nCode, wParam, lParam)
End Function

Public Sub HooK()
    hHook = SetWindowsHookEx(WH_MOUSE_LL, AddressOf MouseHook, App.hInstance, 0)
End Sub

Public Sub UnHooK()
    Call UnhookWindowsHookEx(hHook)
End Sub

摘自:网络整理


更多精彩>>>

VB 全局Hook鼠标消息相关推荐

  1. VB全局HOOK写游戏盗号木马

    思路: 1.用spy++工具获取目标游戏窗体句柄 2.使用timer控件检测句柄是否为当前窗口 3.帐号密码获取:使用全局HOOK键盘记录 4.发送....(这步方法很多,也是最难的一部分,本人采用w ...

  2. 全局钩子(hook鼠标键盘消息)

    生成DLL文件,模块定义文件为: LIBRARY Hook EXPORTS SetHook @2 实现文件如下.其中g_hWnd为所有进程共享,并且绕过了系统对可写数据的写时复制机制,维护的是一份拷贝 ...

  3. VB 全局热键HOOK (不占系统资源版本)

    VB 全局热键HOOK (不占系统资源版本) 看过网上很多的全局热键的写法,几乎都用 do loop 写,很占资源. 这个是占很少资源的 全局热键. Option Explicit Private D ...

  4. 使用钩子函数[3] - 建立一个全局的鼠标钩子

    分两步: 一.建立 DLL, 并在 DLL 实现钩子的设置.释放和钩子函数; 二.再建一个工程调用测试. 第一步: 做 DLL 先建立一个 DLL 工程, 自动初始的代码如下(去掉注释了): libr ...

  5. 使用钩子函数获取全部的鼠标消息和键盘消息

    在编程过程中,有时候需要捕获一些消息,来进行操作,钩子一共有14种, WH_CALLWNDPROC       当调用SendMessage时 WH_CALLWNDPROCRET     当SendM ...

  6. 懒出天际--语音鼠标,解放双手,靠嘴使唤鼠标。SAPI语音识别,WINAPI鼠标消息

    一.背景调查 结合语音识别与MFC鼠标消息,就拥有了语音鼠标. 不同于市面上,科大讯飞,百度AI的科技同类产品的功能:语音转文字,语音播报,这些.这回是彻底靠语音移动鼠标,单击,双击,滚动,打开网页. ...

  7. 将鼠标消息发送给指定的父控件_勾子

    以下类通过挂载勾子原理,实现将子控件鼠标消息发送给父控件. 调用: MousePreview mp=new MousePreview(pControl);  //pControl为父控件 //启用勾子 ...

  8. 【C语言游戏】微信飞机大战 | PlaneFight(EasyX,drawAlpha绘制透明贴图,计时器,计帧器,游戏难度自动调整,接受鼠标消息,源码素材免费分享)

    一.数据结构介绍 struct aircraft //所有飞机的结构体 typedef struct aircraft{ int type;//飞机类型 int HP;//剩余血量 int bomb_ ...

  9. 10 Windows编程——鼠标消息

    和鼠标相关的三个属于:click,double-click,drag 鼠标消息和键盘消息不同:只要鼠标跨越某个窗口,或者在某个窗口中按键,消息. 客户去鼠标消息 WM_MOUSEMOVE WM_[L, ...

最新文章

  1. 三大平衡树(Treap + Splay + SBT)总结+模板
  2. redis面试问题(一)
  3. java中单例模式的3种实现
  4. day11_用例执行顺序、跳过用例skip用法
  5. 经典蓝色主题海报设计,永恒色彩趋势
  6. 学习2 游戏交互界面设计(贪食豆)
  7. 使用markdown写论文
  8. Windows 10 磁盘重新分区
  9. Eclipse使用教程1
  10. 达人秀计算机教学,回顾〡信息技术达人秀
  11. WIN7/10定时关机或重启命令行脚本代码集锦
  12. 做亚马逊的工作,到底辛不辛苦?值得吗?
  13. C++学习笔记(十)——String类
  14. 国外软件HFS 2.3x 远程命令执行漏洞 (本程序某些YY黑阔大牛抓鸡抓IP工具中使用到本软件)本站教程教习如何梨园远程命令执行。。中国寒龙...
  15. 基于Matlab的山区监视场景建模仿真(附源码)
  16. 使用CSS3制作一个简单的商品列表、浮动布局
  17. 什么是股票量化研究?
  18. 用html做个性相册,纯CSS实现蜂窝六边形的个性相册
  19. java程序员装黑苹果_黑苹果教程(四)———MAC OS 10.11+固态硬盘+自定义引导
  20. 视频教程-SQL注入与SQLmap工具-漏洞挖掘与利用

热门文章

  1. Python 神经网络是这样识别手写字符哒?
  2. 无人驾驶飞机来了!空难后波音的电动飞机你敢乘吗?
  3. 苹果无人驾驶拿 124 个工程师祭天!
  4. 春节停车难?用 Python 找空车位!
  5. 开发者如何区分 5G 和 LTE 技术?
  6. 外星网络大肆入侵,地球人能安好吗?
  7. 互联网年终福利大盘点,告诉你过年的正确姿势!
  8. 谁说 Java 要过时?2017 年 Java 大事件回顾!
  9. tkinter中text插入_tkinter做一个体重档案
  10. 完美收官!java程序内存溢出找原因