博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
穿透鼠标实现后台点击,适用于任何窗口!【后台鼠标】【风雪】
阅读量:7283 次
发布时间:2019-06-30

本文共 876 字,大约阅读时间需要 2 分钟。

也许你就是被这标题吸引来的,呵呵!

好久没发帖了,勾引一下大家的胃口,当然有的人已经猜出原理了!
既然来了,都要把原理学回家,不然就没意思了!
 
很多游戏现在都不支持后台消息鼠标,要实现真的不是简单的,什么注入dll啊,什么hook俺也学不懂,那就简简单单另辟蹊径了
 
下面来讲讲原理吧(下面的玩玩可以,用于实际不现实,俺也不藏了,看到这么多人回复,良心过意不去,呵呵)
 
首先,将要点击的窗口上面覆盖的所有窗口,由一般模式变成置顶模式

SetWindowPos temp, -1, 0, 0, 0, 0, 1 Or 2  '置顶

然后再变成分层窗口的鼠标穿透模式

  1. ret = GetWindowLong(temp, GWL_EXSTYLE)
  2. ret = ret Or WS_EX_TRANSPARENT Or WS_EX_LAYERED
  3. SetWindowLong temp, GWL_EXSTYLE, ret
  4. SetLayeredWindowAttributes temp, 0, 255, LWA_ALPHA
这样鼠标相应时,只相应你设定的那个窗口,上面所覆盖的窗口只是视觉上的,从而实现后台点击!
上面为什么要置顶?
答:不置顶的话,你点击时,就激活了你选中的窗口,窗口就自动前置了,变前台了就没意思了
为什么要先置顶,后分层?
答:这个是测试了好多次,要是先分层后置顶,无法实现置顶
如何获得覆盖在上面的窗口
句柄
答:获得一个分层一个,分层后就会被忽略 WindowFromPoint(X, Y),形同透明
总结一下:上面就是主要用到的API,其中分层的那个API,对视屏以及dX画面的作用,只有专业人士才能评论,因为我确实不懂,视频会变黑,DX画面会花屏,我的解决办法就是某某某曾经提过的,将窗口的任何一点拖到屏幕外就OK了
以下是我把它做成
插件,可供大家练习使用,或许你会有更好的创意,到时可不要独自享受哦!

转载于:https://www.cnblogs.com/rogee/archive/2011/05/02/2034662.html

你可能感兴趣的文章
消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe
查看>>
dns 查询中的ANY类型
查看>>
ORA-600 各个参数含义说明
查看>>
虚拟地址转换为物理地址【转】
查看>>
linux中的优先搜索树的实现--prio_tree【转】
查看>>
php抽象类和接口
查看>>
php 解压 .gz 文件
查看>>
EM算法
查看>>
Binary Tree Longest Consecutive Sequence
查看>>
实战:RIP和EIGRP路由再发布
查看>>
统计数据库大小
查看>>
python运维开发之socket网络编程02
查看>>
细品慢酌QuickTest关键视图(3)
查看>>
redis的导入导出需要特别注意的地方
查看>>
理解思科IPS系统的virtual sensor
查看>>
疯狂ios讲义之创建cocos2d项目(3)
查看>>
《信息系统项目管理师软考辅导——3年真题详解与全真模拟》主要创新点、关注点...
查看>>
当网络安全遇上大数据分析(6)
查看>>
Django学习系列之用户注册
查看>>
丢失日志文件的风险与对策
查看>>