最近闲的有点无聊,想开一个帖子扫盲一些脚本的原理,比如后台卡
为啥我要写一份C++的代码作为演示呢?因为大部分的语言都是共通的,况且这个是user32的函数,那几乎是个语言,都能用的=-=。Mac环境与Linux环境当我没说。
上面那份代码的作用就是,模拟喊话,每十秒喊同屏,每二十秒喊其他
为啥我发这层楼发了这么久呢?(因为我去研究了一下c++怎么转编码,研究了半个点了,还是有点蒙,大家自己加油)
上面那份代码的作用就是,模拟喊话,每十秒喊同屏,每二十秒喊其他
为啥我发这层楼发了这么久呢?(因为我去研究了一下c++怎么转编码,研究了半个点了,还是有点蒙,大家自己加油)
***mmmmmmmmmmmmmmmmmm就是个憨憨。
上面的发送不了中文的原因我已经找到了:
postMessage 以及 postMessageW的区别。
W就为unicode版本的。但是我的字符串本来就是ansi编码的,草草草*(一种植物)。
正确的写法是: PostMessage(hWnd, WM_CHAR,s[i] & 0xFF,1); 记得这里有个&操作,据说是汉字的编码是大于多少多少的,具体我不懂
转移过来JAVA的话,没有这个问题。(我晕菜,我就说当时我用C++测试好了才上的java啊,为啥现在用不了)
新的代码是:https://paste.ubuntu.com/p/6zw2c8fH5z/
上面的发送不了中文的原因我已经找到了:
postMessage 以及 postMessageW的区别。
W就为unicode版本的。但是我的字符串本来就是ansi编码的,草草草*(一种植物)。
正确的写法是: PostMessage(hWnd, WM_CHAR,s[i] & 0xFF,1); 记得这里有个&操作,据说是汉字的编码是大于多少多少的,具体我不懂
转移过来JAVA的话,没有这个问题。(我晕菜,我就说当时我用C++测试好了才上的java啊,为啥现在用不了)
新的代码是:https://paste.ubuntu.com/p/6zw2c8fH5z/
第五部分:鼠标连点器。
这部分没什么好讲的,我用的是java的robot类,一定频率模拟连点,或者你直接用user32的接口的鼠标点击也是可以的。
这部分没什么好讲的,我用的是java的robot类,一定频率模拟连点,或者你直接用user32的接口的鼠标点击也是可以的。
第五部分的图:
第六部分:同步器。
这里又可以讲很多东西了。不过一句话总结的话,就是:
QQ三国的移动,并不是
“按下左 弹起左” “按下左 弹起左” “按下左 弹起左” “按下左 弹起左”
而是
“按着左左左左左左左左左左左,松开左”
也就是如果我要移动的话,我只需要发送一个KeyDown的命令即可,那么什么时候停止移动,就什么时候发送一个KeyUp的命令。
然后如果大家已经进行完了上诉所有功能的制作,这个同步器反而是最简单的。
他只需要获取多个窗口的句柄,然后你按键,然后给多个窗口SendMessage即可。
然后要注意的是,你的按键,可能会有叠加,也就是你按着方向键的时候,可能和按空格。但是不妨碍。三国可以同时处理若干个KeyDown的消息。
还有,对于各个按键,请务必要用一个Map或者HashMap去判重,去判断是否有多次Send一个KeyDown,不然我也不知道会发生啥(各位同学可以试试看hhh,反正我写的时候一开始就把这个坑填了)
第六部分:同步器。
这里又可以讲很多东西了。不过一句话总结的话,就是:
QQ三国的移动,并不是
“按下左 弹起左” “按下左 弹起左” “按下左 弹起左” “按下左 弹起左”
而是
“按着左左左左左左左左左左左,松开左”
也就是如果我要移动的话,我只需要发送一个KeyDown的命令即可,那么什么时候停止移动,就什么时候发送一个KeyUp的命令。
然后如果大家已经进行完了上诉所有功能的制作,这个同步器反而是最简单的。
他只需要获取多个窗口的句柄,然后你按键,然后给多个窗口SendMessage即可。
然后要注意的是,你的按键,可能会有叠加,也就是你按着方向键的时候,可能和按空格。但是不妨碍。三国可以同时处理若干个KeyDown的消息。
还有,对于各个按键,请务必要用一个Map或者HashMap去判重,去判断是否有多次Send一个KeyDown,不然我也不知道会发生啥(各位同学可以试试看hhh,反正我写的时候一开始就把这个坑填了)
至此,三国小小小工具箱 Version 2.11477576 的各个功能的讲解,以及原理介绍就到此为止了。 纳尼,为什么是这个版本号? 其实并没有什么特别意义。
各位晚安。原理介绍完了。各位看完后跃跃欲试的同学,欢迎在本帖dddd我,我看见之后就会回复的,不用私信我。
另外,考虑到这个东西不能登上高雅之堂,我还是不公开我的源代码了。
非常开心各位十多级的大佬来本贴下面水,让我在写楼的时候,偶尔偷闲过来回复唠嗑几句。
最后,非常非常非常感谢吧主dada们 的关照,让我有动力继续往下写,说实话,这是我在三国吧写的第一个帖子,也是我的第一个精品贴。(我发现dada是屏蔽字)
另外,考虑到这个东西不能登上高雅之堂,我还是不公开我的源代码了。
非常开心各位十多级的大佬来本贴下面水,让我在写楼的时候,偶尔偷闲过来回复唠嗑几句。
最后,非常非常非常感谢吧主dada们 的关照,让我有动力继续往下写,说实话,这是我在三国吧写的第一个帖子,也是我的第一个精品贴。(我发现dada是屏蔽字)