运用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. DB2:在缓冲池 "1" 中当前没有任何页面可用。. SQLCODE=-1218, SQLSTATE=57011, DRIVER=3.61.75

    服务器端DB2数据库最近频繁报错: 在缓冲池 , SQLSTATE=, DRIVER= 试验发现简单的查询SQL执行没有问题,复杂的SQL就会报上述错误. 百度发现是因为数据库bufferpool太小 ...

  2. 递归查找无效的符号链接 分类: linux c/c++ 2014-06-02 00:14 345人阅读 评论(0) 收藏

    本程序实现在指定目录下递归查找无效的符号链接. 1.设计思路 逐个读取给定目录中的目录项,判断类型 (1)若为目录,则读取该目录中的目录项并判断类型: (2)若为链接文件,则读取出其指向文件的名称(绝 ...

  3. C#过时方法标记

    1.当遇到过时或废弃的方式 函数怎么办 [Obsolete]特性解决你的困惑 1.1:当方法已经完成相关兼容 可以保留时

  4. ASP.Net TextBox只读时不能通过后台赋值取值

    给页面的TextBox设置ReadOnly="True"时,在后台代码中不能赋值取值,下边几种方法可以避免: 1.不设置ReadOnly,设置onfocus=this.blur() ...

  5. call、apply/bind的区别和用法(简单粗暴的解释)

    var obj1={ name:"bob", age:20 } var obj2={ name:"coco", age:22 } function getAge ...

  6. JDK1.8中的Stream详解

    Stream简介 Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念.它也不同于 StAX 对 XML ...

  7. BEGIN - 开始一个事务块

    SYNOPSIS BEGIN [ WORK | TRANSACTION ] DESCRIPTION 描述 BEGIN 初始化一个事务块, 也就是说所有 BEGIN 命令后的用户语句都将在一个事务里面执 ...

  8. sql server数据类型与其他数据库数据类型对应关系

    SELECT * FROM msdb.dbo.MSdatatype_mappings SELECT * FROM msdb.dbo.sysdatatypemappings

  9. css 动态导入css文件 @import 动态js加载 都是静态的

    @import "http://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css" /*-防止各大cdn公共库加载地址失效 ...

  10. html引用ttf字体文件

    在样式表如此定义: @font-face { font-family: MyFontName;//自定义字体名称 src: url(../Gloss_And_Bloom.ttf) } 然后,具体使用: ...