Java实现自动化_Robot类简单应用

简介:
/**
*         Robot类   :
*
*             exec 函数声明:
*                 public Process exec (String command) throws IOException ,参数及功能说明:
*                     command: 一条指定的系统命令
*                     功能:在单独的进程中执行指定的字符串命令
*
*             keyPress 函数说明:
*                 public void keyPress(int keycode),参数及功能说明:
*                     keycode:要按下的键(例如,KeyEvent.VK_A)
*                     功能:模拟按下指定键
*
*             keyRelease 函数说明:
*                 public void keyRelease(int keycode),参数及功能说明:
*                     keycode:要释放的键
*                     功能:模拟释放指定键
*
* @param tovep
*/
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class Exce {
public static void main(String[] args) {
try{
//创建自动操作类
Robot robot = new Robot();
/**
*
*         利用Runtime类运行Word程序的方法为:
*             Runtime.getRuntime().exec("cmd /c start winword");
*                                         括号里的是系统命令
*
*/
//启动记事本程序
Runtime.getRuntime().exec("cmd /c start notepad");
//延缓几秒钟,等待记事本程序启动成功
robot.delay(3000);
//模拟按下"Ctrl + Space" 组合键,启动输入法
pressKeyWithCtrl(robot,KeyEvent.VK_SPACE);
//模拟随机按下100个字母,输入汉字
for(int i=0;i<100;i++){
pressKey(robot, (int) (Math.random()* 25) + 'A');
pressKey(robot,KeyEvent.VK_SPACE);
}
//延缓5秒钟,一共观察
robot.delay(5000);
//关闭记事本
//closeApplication(robot);
}catch (Exception e){
System.out.println(e.getMessage());
}
}
//模拟按下键盘字符键
public static void pressKey(Robot robot, int keyvalue){
//模拟按下
robot.keyPress(keyvalue);
//模拟弹起
robot.keyRelease(keyvalue);
}
//模拟同时按下"Ctrl"键和字符键
public static void pressKeyWithCtrl(Robot robot, int keyvalue){
//模拟按下
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(keyvalue);
//模拟弹起
robot.keyPress(keyvalue);
robot.keyRelease(KeyEvent.VK_CONTROL);
}
//模拟按下"Alt + F4"组合键,关闭当前应用程序
public static void closeApplication(Robot robot){
//模拟按下"Alt + F4"组合键
//模拟按下
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_F4);
//模拟弹起
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_F4);
//模拟按下"N",不保存文件退出记事本程序
//模拟按下
robot.keyPress(KeyEvent.VK_N);
//模拟弹起
robot.keyRelease(KeyEvent.VK_N);
}
}
AI 代码解读

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
Java和Python在企业中的应用情况
Java和Python在企业中的应用情况
84 7
Mobile-Agent:通过视觉感知实现自动化手机操作,支持多应用跨平台
Mobile-Agent 是一款基于多模态大语言模型的智能代理,能够通过视觉感知自主完成复杂的移动设备操作任务,支持跨应用操作和纯视觉解决方案。
134 10
Mobile-Agent:通过视觉感知实现自动化手机操作,支持多应用跨平台
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
CogAgent-9B 是智谱AI基于 GLM-4V-9B 训练的专用Agent任务模型,支持高分辨率图像处理和双语交互,能够预测并执行GUI操作,广泛应用于自动化任务。
91 12
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
Java中的this关键字详解:深入理解与应用
本文深入解析了Java中`this`关键字的多种用法
34 9
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
22 5
【潜意识Java】了解并详细分析Java与AIGC的结合应用和使用方式
本文介绍了如何将Java与AIGC(人工智能生成内容)技术结合,实现智能文本生成。
24 5
【潜意识Java】深入理解MyBatis,从基础到高级的深度细节应用
本文详细介绍了MyBatis,一个轻量级的Java持久化框架。内容涵盖MyBatis的基本概念、配置与环境搭建、基础操作(如创建实体类、Mapper接口及映射文件)以及CRUD操作的实现。此外,还深入探讨了高级特性,包括动态SQL和缓存机制。通过代码示例,帮助开发者更好地掌握MyBatis的使用技巧,提升数据库操作效率。总结部分强调了MyBatis的优势及其在实际开发中的应用价值。
14 1
小团队 CI/CD 实践:无需运维,Java Web应用的自动化部署
本文介绍如何使用GitHub Actions和阿里云Kubernetes(ACK)实现Java Web应用的自动化部署。通过CI/CD流程,开发人员无需手动处理复杂的运维任务,从而提高效率并减少错误。文中详细讲解了Docker与Kubernetes的概念,并演示了从创建Kubernetes集群、配置容器镜像服务到设置GitHub仓库Secrets及编写GitHub Actions工作流的具体步骤。最终实现了代码提交后自动构建、推送镜像并部署到Kubernetes集群的功能。整个过程不仅简化了部署流程,还确保了应用在不同环境中的稳定运行。
49 9
阿里云先知安全沙龙(上海站)——后渗透阶段主机关键信息自动化狩猎的实现与应用
本文介绍了在后渗透测试中使用LSTAR工具和PowerShell脚本进行RDP状态查询、端口获取及凭据收集的过程,强调了高强度实战场景下的OPSEC需求。通过MITRE ATT&CK框架的应用,详细阐述了凭证访问、发现和收集等关键技术,确保攻击者能够隐蔽、持续且高效地渗透目标系统,最终获取核心数据或控制权。文中还展示了SharpHunter等工具的自动化实现,进一步提升了操作的安全性和效率。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等