首页 > 其他分享 >一段有趣的代码

一段有趣的代码

时间:2023-11-07 14:55:35浏览次数:27  
标签:wParam lParam return nCode 钩子 代码 一段 有趣 NULL

#include <Windows.h>

// 键盘事件处理函数
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{

if (nCode < 0)
{
return CallNextHookEx(NULL, nCode, wParam, lParam);
}


return 1;
}

// 鼠标事件处理函数
LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
// 如果nCode小于0,则返回调用下一个钩子
if (nCode < 0)
{
return CallNextHookEx(NULL, nCode, wParam, lParam);
}

// 返回非零值以阻止事件传递给目标窗口
return 1;
}

int main()
{
// 安装键盘钩子
HHOOK keyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, NULL, 0);

// 安装鼠标钩子
HHOOK mouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseProc, NULL, 0);

// 执行某些操作
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
// 卸载键盘钩子
UnhookWindowsHookEx(keyboardHook);

// 卸载鼠标钩子
UnhookWindowsHookEx(mouseHook);

return 0;
}

标签:wParam,lParam,return,nCode,钩子,代码,一段,有趣,NULL
From: https://www.cnblogs.com/ljna/p/17814991.html

相关文章

  • iOS代码混淆----自动
    ​  先大致解释一下“编译"、"反编译":编译:就是把千千万万行字符串(也叫代码,或者源文件),变成010101010101(机器码,也叫目标代码)编译过程:预处理-编译-汇编-链接我的脚本运行在预处理阶段。反编译:就是把0101010111110001100(机器码,也叫目标代码),变成千千万万行字符串(也叫......
  • 腾讯云配置环境可能遇见的问题和解决代码(2023.11)
    1、官方网站给的方式无法安装mariadb使用以下两句安装:yuminstallmariadbyuminstallmariadb-server 2、官方网站给的方式无法安装PHP环境依次使用以下语句解决:rpm-Uvhhttps://mirrors.cloud.tencent.com/epel/epel-release-latest-7.noarch.rpmrpm-Uvhhttps://mir......
  • uniapp实用功能代码(小程序支付,图片保存,返回刷新,分享到朋友圈)
    1.uniapp小程序支付:uni.request({url:"http://xxxxxx/payOrder",//后端接口返回调起支付需要的参数data:{userId:1,//此接口需要的参数一般有多个此仅为示例},method:"POST",success:(res)=>{console.log(res.data,"这......
  • 编写高性能C#代码 —— Span<T>
    Span提供任意内存的连续区域的类型安全和内存安全表示形式。它是在堆栈而不是托管堆上分配的ref结构,是对任意内存块的抽象 。1.关于Span在NETCore2.1中首次引入提供对任意内存上的连续区域的读写视图利用索引/迭代来修改范围内的内存几乎无开销2.和内存的关系 ......
  • 如何查看exe文件的源代码??? ILSpy
    如何查看exe文件的源代码???ILSpy需要准备的工具:电脑,反编译工具ILSpy。1、首先在百度上搜索下载反编译工具ILSpy,解压后如图,双击.exe文件打开解压工具。2、选择file选项,点击“打开”。3、接着选择要反编译的文件,点击“打开”。4、这是会出现一个对话框,在这个对话框里面就可以看到源......
  • Git创建远程分支并提交代码到远程分支
    1、可以通过gitbranch-r命令查看远端库的分支情况  动图演示(选择项目右键选择GitBashHere,然后输入命令gitbranch-r):  2、从已有的分支创建新的分支(如从master分支),创建一个dev分支  但此时并没有在远程仓库上创建分支如图所示还是只有一个master分支  ......
  • lighttools batchmode 批处理vb程序代码
    lighttools连接代码:1Privatem_ltServerAsLTAPI2345PublicFunctiongetLTAPIServer()AsLTAPI6Ifm_ltServerIsNothingThen7DimltAsIUnknown8DimltLocAsLocator9DimcmdAsString10SetltLoc=CreateObject("......
  • 代码规范(阿里)
    一、代码规范:接口中分方法和属性,不加修饰符号如:publc,正确为:voidf()long或Long,统一用Long类型处理常量按功能分类归类if/for/while/switch/do等保留字与括号之间都必须加空格注释的双斜线与注释内容之间有且仅有一个空格当字符数超过120个时,换行规则:第二行相对第一行缩进4个空格......
  • 解决某站代码必须登录才能复制的问题
    这个事情是通过bookmarklet来实现的,内容很短。都是老中医,没必要给咱出这偏方。将下列内容加入浏览器书签。javascript:eval(atob("dmFyIGM9QXJyYXkuZnJvbSgkKCJjb2RlIikpLm1hcChhPT5hLmlubmVyVGV4dCkuam9pbigiPGJyPiIucGFkRW5kKDUwLCI9IikrIjxicj4iKTt2YXIgYT13aW5kb3cub3Blbig......
  • 鳄鱼指标的3颜色线都代表什么?澳福官网一段话明白了
    投资者一直在使用鳄鱼指标进行交易,但是对指标上面的3种颜色的K线都代表什么不明白?直到看到澳福官网一段话才明白,原来这么简单!鳄鱼指标,这一工具是由三条移动平均线组合而成。具体来说,蓝线(鳄鱼的下巴) 是用以绘制图表时间框架的平衡曲线。(13段 顺畅移动平均线,以8栏的速度向未来方向......