运用Java程序控制某个应用程序的运行(以网易云音乐为例),步骤如下

1、建立bat文件分别是start.bat(控制程序的运行)和kill.bat(控制程序的结束);

  start.bat 的内容如下,功能是运行程序:

cmd /c start F:\\00网易云音乐\\CloudMusic\\cloudmusic.exe
exit

  具体情况可以视具体情况改写你的应用的安装路径即可

  kill.bat的内容如下,功能是结束程序进程:

taskkill /f /im "cloudmusic.exe"
exit

  注意:两个文件要与应用软件的目录在同一目录下

2、找到网易云或者其他应用程序的安装目录我的是F:\00网易云音乐\CloudMusic\;

3、编写Java代码控制应用的运行如(让应用后运行,运行一段时间后突然结束,一会儿又好了,如此反复)将程序的开始时间和结束时间的间隔调到很小的话,是不是一个恶搞的小程序了,让你的小伙伴很烦恼啊,听歌时断时续。啦啦啦

4、附上代码,关键部分都有备注。

package haowan;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
public class haowan {
public void runbat(String batName) { //启动网易云音乐
String cmd = "cmd /c start F:\\00网易云音乐\\CloudMusic\\"+ batName + ".bat";//网易音乐安装目录E:/wyyyy/CloudMusic/
try {
Process ps = Runtime.getRuntime().exec(cmd);
ps.waitFor();
} catch (IOException ioe) {
ioe.printStackTrace();
}
catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("开启网易云音乐");
} public void shutbat(String batName) { //关闭网易云音乐
String cmd = "cmd /c start F:\\00网易云音乐\\CloudMusic\\"+ batName + ".bat";//网易音乐安装目录E:/wyyyy/CloudMusic/
try {
Process ps = Runtime.getRuntime().exec(cmd);
ps.waitFor();
} catch (IOException ioe) {
ioe.printStackTrace();
}
catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("关闭网易云音乐");
}
public static void main(String[] args) {
Timer timer = new Timer(); //时间控制器
timer.schedule(new TimerTask() {
public void run() {
haowan haowan = new haowan();
haowan.runbat("start");
}
}, 3000 , 300000); //3秒开始运行网易云音乐每5分钟秒重新开启一次
Timer timer2 = new Timer(); //时间控制器
timer.schedule(new TimerTask() {
public void run() {
haowan haowan = new haowan();
haowan.runbat("kill");
}
}, 295000 , 300000); //4分55秒关闭运行网易云音乐每5分钟关闭一次
}
}

java程序调用bat脚本的更多相关文章

  1. 【原】Java程序调用远程Shell脚本

    此程序的目的是执行远程机器上的Shell脚本. [环境参数]远程机器IP:192.168.234.123用户名:root密码:rootShell脚本的路径:/home/IFileGenTool/Bak ...

  2. Java程序调用带参数的shell脚本返回值

    Java程序调用带参数的shell脚本返回值 首先来看看linux中shell变量(\(#,\)@,$0,$1,\(2)的含义解释 变量说明: -  \)$  Shell本身的PID(ProcessI ...

  3. 使用Runtime.getRuntime().exec()在java中调用python脚本

    举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本.假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用ja ...

  4. 通过java程序调用ant build.xml配置文件中指定的target

    一.概述 通过ant实现项目的自动化部署,jar包生成,替换,tomcat关停.启动,查看项目日志: 通过java程序调用已编辑好的ant脚本build.xml配置文件中指定的target: 文中文件 ...

  5. java程序调用存储过程

    java程序调用存储过程       PL/SQL子程序,很多情况下是给应用程序来调用的,所有我们要掌握使用其他编程语言来调用我们写好的存储过程.下面我们介绍下使用java调用Oracle的存储过程. ...

  6. C程序调用shell脚本共有三种方法

    C程序调用shell脚本共有三种法子 :system().popen().exec系列函数call_exec1.c ,内容为:system() 不用你自己去产生进程,它已经封装了,直接加入自己的命令e ...

  7. java程序调用存储过程和存储函数

    java程序调用存储过程 jdbcUtil.java文件 package cn.itcast.oracle.utils; import java.sql.Connection; import java ...

  8. Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件

    本文通过Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件,代码如下: import java.io.File; import java.io.IOException; import ...

  9. C#应用程序隐藏调用bat脚本

    做c#应用程序有些调用windows自带的bat脚本会比较方便 Process proc; proc = null; try { string targetDir = GetParentUrl() + ...

随机推荐

  1. STL之map基础知识

    Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候 ...

  2. SpringMVC的简单传值

    之前学习SpringMVC时感觉他的传值很神奇:简便,快捷,高效. 今天写几个简单的传值与大家分享,希望能对大家有帮助. 一. 从后往前传: (1) @Controller @RequestMappi ...

  3. BaseAdapter的优化

    传统的 package cct.commonadapter.bean; import android.content.Context; import android.view.LayoutInflat ...

  4. oracle 创建表

    --创建表 create table browser_track( btId number not null , opend_id ) not null, url_address ) not null ...

  5. Scala基础篇-01变量,数据类型

    一.Scala变量 共有3种变量修饰符: val: 可变 var: 不可变 lazy val: 第一次应用时才计算 二.Scala的数据类型 1)类型不匹配:高精度数值赋给低精度数据类型. 2)Uni ...

  6. vscode增加sftp扩展

    下载 sftp-sync 扩展插件 填写配置 快捷键 ctrl+shift+P 打开指令窗口,输入sftp:config,回车,就会在当前工作工程的.vscode文件夹下生成一个sftp.json文件 ...

  7. SQL Server xtype的介绍

    sysobjects 表 在数据库内创建的每个对象(约束.默认值.日志.规则.存储过程等)在表中占一行.只有在 tempdb 内,每个临时对象才在该表中占一行. 列名 数据类型 描述 name sys ...

  8. vue2.0 路由传参(router-link传过去)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. jquery /css3 全屏的渐变背景

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. tensorboard及summary data

    (新手上路,如果有不对的地方,望指正.另外有没有小伙伴一起学习交流啊?)   tensorboard为tensorflow提供了可视化,它的重要性不言而喻.   tensorboard是通过读取eve ...