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鼠标消息相关推荐
- VB全局HOOK写游戏盗号木马
思路: 1.用spy++工具获取目标游戏窗体句柄 2.使用timer控件检测句柄是否为当前窗口 3.帐号密码获取:使用全局HOOK键盘记录 4.发送....(这步方法很多,也是最难的一部分,本人采用w ...
- 全局钩子(hook鼠标键盘消息)
生成DLL文件,模块定义文件为: LIBRARY Hook EXPORTS SetHook @2 实现文件如下.其中g_hWnd为所有进程共享,并且绕过了系统对可写数据的写时复制机制,维护的是一份拷贝 ...
- VB 全局热键HOOK (不占系统资源版本)
VB 全局热键HOOK (不占系统资源版本) 看过网上很多的全局热键的写法,几乎都用 do loop 写,很占资源. 这个是占很少资源的 全局热键. Option Explicit Private D ...
- 使用钩子函数[3] - 建立一个全局的鼠标钩子
分两步: 一.建立 DLL, 并在 DLL 实现钩子的设置.释放和钩子函数; 二.再建一个工程调用测试. 第一步: 做 DLL 先建立一个 DLL 工程, 自动初始的代码如下(去掉注释了): libr ...
- 使用钩子函数获取全部的鼠标消息和键盘消息
在编程过程中,有时候需要捕获一些消息,来进行操作,钩子一共有14种, WH_CALLWNDPROC 当调用SendMessage时 WH_CALLWNDPROCRET 当SendM ...
- 懒出天际--语音鼠标,解放双手,靠嘴使唤鼠标。SAPI语音识别,WINAPI鼠标消息
一.背景调查 结合语音识别与MFC鼠标消息,就拥有了语音鼠标. 不同于市面上,科大讯飞,百度AI的科技同类产品的功能:语音转文字,语音播报,这些.这回是彻底靠语音移动鼠标,单击,双击,滚动,打开网页. ...
- 将鼠标消息发送给指定的父控件_勾子
以下类通过挂载勾子原理,实现将子控件鼠标消息发送给父控件. 调用: MousePreview mp=new MousePreview(pControl); //pControl为父控件 //启用勾子 ...
- 【C语言游戏】微信飞机大战 | PlaneFight(EasyX,drawAlpha绘制透明贴图,计时器,计帧器,游戏难度自动调整,接受鼠标消息,源码素材免费分享)
一.数据结构介绍 struct aircraft //所有飞机的结构体 typedef struct aircraft{ int type;//飞机类型 int HP;//剩余血量 int bomb_ ...
- 10 Windows编程——鼠标消息
和鼠标相关的三个属于:click,double-click,drag 鼠标消息和键盘消息不同:只要鼠标跨越某个窗口,或者在某个窗口中按键,消息. 客户去鼠标消息 WM_MOUSEMOVE WM_[L, ...
最新文章
- 三大平衡树(Treap + Splay + SBT)总结+模板
- redis面试问题(一)
- java中单例模式的3种实现
- day11_用例执行顺序、跳过用例skip用法
- 经典蓝色主题海报设计,永恒色彩趋势
- 学习2 游戏交互界面设计(贪食豆)
- 使用markdown写论文
- Windows 10 磁盘重新分区
- Eclipse使用教程1
- 达人秀计算机教学,回顾〡信息技术达人秀
- WIN7/10定时关机或重启命令行脚本代码集锦
- 做亚马逊的工作,到底辛不辛苦?值得吗?
- C++学习笔记(十)——String类
- 国外软件HFS 2.3x 远程命令执行漏洞 (本程序某些YY黑阔大牛抓鸡抓IP工具中使用到本软件)本站教程教习如何梨园远程命令执行。。中国寒龙...
- 基于Matlab的山区监视场景建模仿真(附源码)
- 使用CSS3制作一个简单的商品列表、浮动布局
- 什么是股票量化研究?
- 用html做个性相册,纯CSS实现蜂窝六边形的个性相册
- java程序员装黑苹果_黑苹果教程(四)———MAC OS 10.11+固态硬盘+自定义引导
- 视频教程-SQL注入与SQLmap工具-漏洞挖掘与利用