java实现按键精灵功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java实现按键精灵功能相关的知识,希望对你有一定的参考价值。

抓图?抓字?
后台运行?
1.论坛自动回帖,最好能后台。
我知道有个Robot类没接触过。

你说的东西跟按键精灵可差多了,java实现不了按键精灵,但可以显现你要的功能,就是模拟浏览器访问服务器,然后实现自动回帖。用的也不似什么Robot类,而是HttpClient。其他有高见的另说 参考技术A 在你得到论坛所有发帖的接口和格式以后 , 很容易就可以实现 , 写个JAVA WEB程序 , 定时去扫有没有新帖子什么的 , 然后模拟一条发帖的请求就行了 .

利用按键精灵在PC端实现自定义随机点击功能

目录

简介

正文

1. 下载地址

2. 快速上手

3. 代码解析

4. 获取官方指导文档

5. 注意事项

结尾


简介

按键精灵是一个非常好用的模拟鼠标键盘动作的软件。通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠标键盘动作。同事,按键精灵操作起来也非常简单易用,不需要任何编程知识就可以作出功能强大的脚本。总之一句话:只要在电脑前用双手可以完成的动作,按键精灵都可以替代完成。

正文

1. 下载地址

官方下载地址如下:按键精灵

因为是打算实现PC端的自动点击功能,所以在下载界面选择“按键精灵 PC端”,具体操作如下图所示: 

2. 快速上手

下载好后,安装并打开按键精灵软件,首页如下图所示:

点击左上角的“我的脚本”,进入如下界面。

在脚本列表的空白区域点击右键,选择“导入脚本”,具体的脚本可以使用我为大家准备的随机点击脚本。

脚本内容如下:

[General]
SyntaxVersion=2
BeginHotkey=121
BeginHotkeyMod=0
PauseHotkey=0
PauseHotkeyMod=0
StopHotkey=123
StopHotkeyMod=0
RunOnce=1
EnableWindow=
MacroID=b78d0a46-b6d6-473d-9f67-dbc0c5722011
Description=鼠标左键随机连点
Enable=1
AutoRun=0
[Repeat]
Type=1
Number=1
[SetupUI]
Type=2
QUI=
[Relative]
SetupOCXFile=
[Comment]

[Script]
//* 每1秒随机点击一次,循环点击一分钟

//*点击区域范围:左上角(0,90)、右下角(1920,980)

For 60
    Delay 1000
    // 初始化随机数命令
    Randomize
    // 随机生成x坐标与y坐标
    x = Int((1920 - 0 + 1) * Rnd + 0)
    Randomize
    y = Int((980 - 90 + 1) * Rnd  + 90)
    MoveTo x, y
    TracePrint x&","&y
    LeftClick 1
Next

可以将上面的脚本保存为 random.Q 文件。

选中导入的脚本,点击“运行”即可。当然,前提是我们已经将想要随机点击的应用程序打开了。

3. 代码解析

注意:按键精灵的坐标系原点在显示器屏幕的左上角,X轴以向右为正,Y轴以向下为正。

假设点击区域为(Xmin,Ymin),(Xmax,Ymax),公式如下:

(1)获取随机点的x坐标:

Randomize

x = Int((Xmax - Xmin + 1) * Rnd + Xmin)

(2)获取随机点的y坐标:

Randomize

y = Int((Ymax - Ymin + 1) * Rnd + Ymin)

语句 MoveTo x, y 表示鼠标移动到坐标点(x,y)。

语句 LeftClick 1 表示点击鼠标左键。

这样,我们就完成了一次点击操作。最后,设置好循环间隔和循环次数,就可以执行脚本看效果了。

4. 获取官方指导文档

(1)方法用途

Randomize 语句,描述初始化随机数生成器。

(2)语法规定

Randomize [number]

其中,number 参数可以是任何有效的数值表达式

(3)具体说明

Randomize 使用 number 参数初始化 Rnd 函数的随机数生成器,赋给它新的种子值。如果省略 number,则使用系统计时器返回的值作为新的种子值。

如果不使用 Randomize,则第一次调用 Rnd 函数(无参数)时,它将使用相同的数字作为种子值,随后使用最后生成的数值作为种子值。

(4)注意事项

重复随机数的序列,请在使用数值参数调用 Randomize 之前,立即用负值参数调用 Rnd。使用相同的 number 值的 Randomize 不能重复先前的随机数序列。

(5)举例说明

如何使用 Randomize 语句:

Dim MyValue, Response
Randomize    '初始化随机数生成器。
Do Until Response = vbNo   
    MyValue = Int((6 * Rnd) + 1)  ' 产生 1 到 6 之间的随机数。   
    MsgBox MyValue   
    Response = MsgBox ("Roll again? ", vbYesNo)
Loop

查看官方文档的具体操作可以参考下图:

5. 注意事项

修改脚本时需要注意两点:

1. 根据自己屏幕的实际尺寸大小指定点击区域;

2. 如果自己修改的脚本跑起来脱离了控制,可以按下F12键结束所有正在执行的脚本。

结尾

其实,很早之前就听说过按键精灵,今天是第一次实际使用。本来以为很麻烦,没想到操作真的很简单。另外,Monkey只支持移动端APP的随机点击,没有PC版本。而按键精灵支持按键点击录制,想实现随机点击就要用到本文讲到的脚本,脚本也非常简单易懂。Good Luck!

作者简介:😄大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,😄公众号:玩转音视频。同时也是 CSDN 博客专家(博客之星)、华为云享专家(共创编辑、十佳博主)、51CTO社区编辑、InfoQ 签约作者,欢迎关注我分享更多干货!😄 

以上是关于java实现按键精灵功能的主要内容,如果未能解决你的问题,请参考以下文章

按键精灵和Python哪个强大,学哪个用处大

市面上有一款android的按键精灵,他是基于啥原理实现的实现

按键精灵

利用按键精灵在PC端实现自定义随机点击功能

利用按键精灵在PC端实现自定义随机点击功能

利用按键精灵在PC端实现自定义随机点击功能