java程序注册为服务 java注册系统实用

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。写范文的时候需要注意什么呢?有哪些格式需要注意呢?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。

java程序注册为服务 java注册系统篇一

本文实例讲述了java如何注册成windows服务程序及一个简单的java定时关机程序代码,分享给大家供大家参考。具体方法如下:

最近想找个软件来控制电脑的关机时间,在网上找了几个,都是可视化界面的可以设置具体的关机时间的软件。由于我想编写的关机程序是运行在别人机器上,只能让该机器在晚上17 点到23 点25 分才上网,到了23 点25 分就可以自动关机。为了让别人感觉不到这个软件的“存在”(免得使用者自己关闭定时关机软件),所以我想把关机软件注册为服务的方式,运行在后台。这里介绍下如何利用javaservice 软件把java 程序注册为windows 服务。

① 下载javaservice

访问网址http:/// 下载windows 版本的javaservice 文件, ,目前最新的版本就是“2.0.10 ”。

② 安装javaservice

解压我们下载下来的javaservices 到一个目录,我是解压到目录“d:/software/javaservice-2.0.10 ”下(解压到任何目录都可以,最好别解压到中文目录,省的出现问题

③ 编写定时关机代码

1) 类的名字为:

hutdownwindows

2) 把编写后的java 文件导出为class 的形式,把导出的类放到目录“d:/software/javaservice-2.0.10/classes/com/test/timer ”下。也就是把导出的com 包放到

“d:/software/javaservice-2.0.10/classes” 目录下。

④ 注册java 程序为windows 服务

进入“d:/software/javaservice-2.0.10 “目录,执行如下命令:

复制代码 代码如下: -install myshutdownservice "%java_home%"/jre/bin/server/ -="%java_home%"/lib/;d:/software/javaservice-2.0.10/classes -start hutdownwindows

其中“-install “后面的参数为服务的名称,“-start ”参数后边是要启动的类名,“ ”后面参数中的

“d:/software/javaservice-2.0.10/classe ”地址是我的`“timershutdownwindows ”类存放的路径,实际应用中修改为自己的classpath 即可。

1) “%java_home% ”jdk 目录,如果没有配置jdk 目录,则替换为jdk 的实际绝对地址。

2) - 是必须的,因为服务启动的时候无法访问系统的classpath 变量,所以必须在这里声明;如果jar 比较多,为避免写的命令过长,我们可以使用“-=jars 所在目录”参数。

3) 服务添加之后,可以在命令行中敲入“ ”命令来查看所有服务,并可以对服务的启动类型(自动启动还是手动启动等)进行修改。

⑤ 测试

1) 启动服务

当我们注册完服务后,我们可以通过命令“net start myshutdownservice ”来启动该服务,服务启动后会在d 日志文件。

2) 关闭服务

如果我们要关闭服务,可以通过命令“net stop myshutdownservice ”来关闭该服务。

3) 删除服务

当我们想删除该服务时,可以使用命令“sc myshutdownservice ”来删除该服务。

复制代码 代码如下:

package ;

import ;

import writer;

import ption;

import riter;

import dateformat;

import ar;

import ;

public class timershutdownwindows {

/* 检测是否需要关机的时间间隔 */

private static long m_ndetectinterval = 5000;

/* 记录上次检测的时间,以毫秒为单位 */

private static long m_llastmilliseconds = 0;

/* 可以使用电脑的最小小时 */

private static int m_nusepcminhour = 17;

/* 可以使用电脑的最大小时 */

private static int m_nusecomputermaxhour = 23;

/* 如果分钟超过这个时间,则关机计算机 */

private static int m_nminutes = 25;

/* 记录日志的文件的保存位置 */

private static string m_slogfile = "d:" + tor

+ "";

/* 记录当前系统是否已经启动自动关闭程序 */

private static boolean bhasshutdownpc = false;

/**

* @param args

*/

public static void main(string[] args) {

// 1. 单独开启一个线程去检测

thread athread = new thread(new timerdetector());

();

}

/**

* 定义内部类

*

* @author administrator

*

*/

static class timerdetector implements runnable {

/*

* (non-javadoc)

*

* @see le#run()

*/

public void run() {

// 1. 获取日志文件

printwriter out = null;

simpledateformat df = new simpledateformat("yyyy-mm-dd hh:mm:ss");

try {

out = new printwriter(new filewriter(m_slogfile, true), true);

} catch (ioexception e1) {

out = null;

tacktrace();

}

// 2. 记录服务启动时间

appendlog(out, " 服务启动时间:" + (new date()));

while (true) {

// 1. 判断当前系统时间是否被修改过

boolean bshoudshutdownpc = validateshoudshutdownpc(out);

if (bshoudshutdownpc) {

// 验证没通过,强制关机

exectueshutdown(out);

} else {

bhasshutdownpc = false;

}

// 2. 当前线程休眠下

try {

(m_ndetectinterval);

} catch (interruptedexception e) {

appendlog(out, sage());

}

}

}

/**

* 验证当前时间是否是需要关机的时间

*

* @return

*/

private boolean validateshoudshutdownpc(printwriter _out) {

// 1. 判断是否修改了系统时间

boolean bhasmodifysystemtime = detectmodifysytemtime(_out);

appendlog(_out, "bhasmodifysystemtime :" + bhasmodifysystemtime);

if (bhasmodifysystemtime) {

return bhasmodifysystemtime;

}

// 2. 没有修改系统时间,则判断当前时间是否超过了指定的时间

boolean bshoudsleep = nowissleeptime();

appendlog(_out, "bshoudsleep :" + bshoudsleep);

if (bshoudsleep) {

return bshoudsleep;

}

return false;

}

/**

* 判断当前时间是否应该休息的时间

*

* @return

*/

private boolean nowissleeptime() {

// 1. 获取当前小时和分钟

calendar acalendar = tance();

int nhour = (_of_day);

int nminute = ();

// 2. 判断当前小时是否在可以使用pc 的时间内, 最大小时为23

if (nhour < m_nusepcminhour) {

return true;

}

// 23 点需要单独判断,超过23 点30 就应该休息

if ((nhour >= m_nusecomputermaxhour) && (nminute >= m_nminutes)) {

return true;

}

// 3. 非休息时间

return false;

}

/**

* 判断是否有人修改了系统时间,如果有人修改了系统时间返回true ,

* 否则返回false

*

* @return

*/

private boolean detectmodifysytemtime(printwriter _out) {

// 1. 第一次检测系统时间

if (m_llastmilliseconds == 0) {

m_llastmilliseconds = ttimemillis();

return false;

}

// 2. 检测两次时间的差值

long linteral = ttimemillis() - m_llastmilliseconds;

linteral = (linteral);

// 3. 判断两次的时间间隔, 两次结果不一定完全等于 m_ndetectinterval ,允许误差为1 分钟

long lmaxinterval = m_ndetectinterval + 60 * 1000;

appendlog(_out, "linteral :::" + linteral);

appendlog(_out, "lmaxinterval :::" + lmaxinterval);

if (linteral > lmaxinterval) {

// 有人修改了系统时间,强制关机

return true;

}

// 4. 只有没人修改时间才记录上次检测时间

m_llastmilliseconds = ttimemillis();

return false;

}

/**

* 在指定的流中写入日志信息

*

* @param _outwriter

* @param _sappendcontent

*/

private void appendlog(printwriter _outwriter, string _sappendcontent) {

if (_outwriter == null) {

return;

}

n(_sappendcontent);

}

/**

* 执行关机命令

*/

private void exectueshutdown(printwriter _out) {

if (bhasshutdownpc) {

simpledateformat df = new simpledateformat(

"yyyy-mm-dd hh:mm:ss");

appendlog(_out, " 系统即将关闭, 当前时间:" + (new date()));

return;

}

appendlog(_out, " 有人修改了系统时间,系统强制关机!");

// 关机

try {

time().exec(

"shutdown -s -t 120 -c /" 很晚了,该睡觉了,2 分钟后关闭计算机。/"");

} catch (ioexception e) {

appendlog(_out, sage());

}

bhasshutdownpc = true;

}

}

}

希望本文所述对大家的java程序设计有所帮助。

s("content_relate");

【java注册成windows服务程序及简单java定时关机的程序代码】相关文章:

1.

如何编写java程序

2.

java程序运行方法

3.

java系统程序的运行

4.

java程序设计示例教程

5.

java程序重新配置教程

6.

java程序设计里的线程

7.

windows下java敏捷开发环境搭建步骤

8.

java简单选择排序算法及实现

猜你感兴趣
java程序注册为服务 java注册系统实用

java程序注册为服务 java注册系统实用

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。写范文的时候需要注意什么呢?有哪些格式需要注意呢?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。java程序注...

其他范文 2024-06-15
2024年六级作文万能:提纲式写作 六级作文文体通用

2024年六级作文万能:提纲式写作 六级作文文体通用

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文怎么写才能发挥它最大的作用呢?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。六级作文万能:提纲式写作 六...

其他范文 2024-06-15
托福阅读解题技巧优秀

托福阅读解题技巧优秀

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。写范文的时候需要注意什么呢?有哪些格式需要注意呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。托福阅读解题技巧篇一 实践出真知...

其他范文 2024-06-15
最新审计师初级考试题型通用

最新审计师初级考试题型通用

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。写范文的时候需要注意什么呢?有哪些格式需要注意呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。审计师初级考...

其他范文 2024-06-15
最新托福考试词汇书推荐优质

最新托福考试词汇书推荐优质

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。那么我们该如何写一篇较为完美的范文呢?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。托福考试词汇书推荐篇一...

其他范文 2024-06-15
最新四六级作文议论文优秀

最新四六级作文议论文优秀

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。四六级作文议论文篇一 题目就某一事物或者社会现象给出两个对立的观点,要求考生对比这两种...

其他范文 2024-06-15
最新专四写作常用句型精选

最新专四写作常用句型精选

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。专四写作常用句型篇一 英语专四作文...

其他范文 2024-06-15
最新专四完型怎么做模板

最新专四完型怎么做模板

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。大家想知道怎么样才能写一篇比较优质的范文吗?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。专四完型怎么做篇一...

其他范文 2024-06-15
专四写作作文优秀

专四写作作文优秀

在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。相信许多人会觉得范文很难写?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。专四写作作文篇一 写作技巧欠缺?英语基...

其他范文 2024-06-15
2024年四级听力课程推荐汇总

2024年四级听力课程推荐汇总

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。四级听力课...

其他范文 2024-06-15
2024年托业听力常见语句 托业听力考试真题模板

2024年托业听力常见语句 托业听力考试真题模板

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。相信许多人会觉得范文很难写?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧托业听力常见语句 托业听力考试真题篇一 other people’s interruptions of y...

其他范文 2024-06-15
2024年《汤姆索亚历险记》有感600 《汤姆索亚历险记》有感500字(3篇)

2024年《汤姆索亚历险记》有感600 《汤姆索亚历险记》有感500字(3篇)

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。那么我们该如何写一篇较为完美的范文呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。《汤姆索亚历险记》有感600 《汤姆索亚历险记》有感500字篇一好几位同学向我推荐了一本书《汤姆-...

其他范文 2024-06-15
专四写作技巧及相关例文分析精选

专四写作技巧及相关例文分析精选

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。相信许多人会觉得范文很难写?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧专四写作技巧及相关例文分析篇一 引导语:英语...

其他范文 2024-06-15
2024年小学数学教案汇编电子版 小学数学数学教案(5篇)

2024年小学数学教案汇编电子版 小学数学数学教案(5篇)

作为一位无私奉献的人民教师,总归要编写教案,借助教案可以有效提升自己的教学能力。那么问题来了,教案应该怎么写?下面是小编带来的优秀教案范文,希望大家能够喜欢!小学数学教案汇编电子版 小学数学数学教案篇一整理与复习(一)1、让学生自己对10...

其他范文 2024-06-15
2024年领导春节拜年语(三篇)

2024年领导春节拜年语(三篇)

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。范文怎么写才能发挥它最大的作用呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。领导春节拜年语篇一40、阳光,送给你温暖;星星,许给你温馨;短信,传给你祝福;新年,送给你祝愿。愿你在...

其他范文 2024-06-15
2024年安全生产岗位职责简洁版(7篇)

2024年安全生产岗位职责简洁版(7篇)

在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。那么我们该如何写一篇较为完美的范文呢?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧安全生产岗位职责简洁版篇一2、负责对生产计...

其他范文 2024-06-15
最新防灾减灾知识宣传方案(14篇)

最新防灾减灾知识宣传方案(14篇)

为有力保证事情或工作开展的水平质量,预先制定方案是必不可少的,方案是有很强可操作性的书面计划。方案的格式和要求是什么样的呢?下面是小编帮大家整理的方案范文,仅供参考,大家一起来看看吧。防灾减灾知识宣传方案篇一通过开展防灾减灾系列宣传教育活动...

其他范文 2024-06-15
薛法根黄果树瀑布教学设计 黄果树瀑布教学设计第一课时一等奖实用

薛法根黄果树瀑布教学设计 黄果树瀑布教学设计第一课时一等奖实用

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。大家想知道怎么样才能写一篇比较优质的范文吗?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。薛法根黄果树瀑布教学设计 黄果树瀑布教学设计第一课时一等奖篇一1、学会...

其他范文 2024-06-15
燕子妈妈笑了读后感精选(3篇)

燕子妈妈笑了读后感精选(3篇)

当观看完一部作品后,一定有不少感悟吧,这时候十分有必须要写一篇读后感了!如何才能写出一篇让人动容的读后感文章呢?以下是小编为大家搜集的读后感范文,仅供参考,一起来看看吧燕子妈妈笑了读后感篇一积极向上的情感因素,教师充满童趣的教学语言和动作拉...

其他范文 2024-06-15
教师节日记3优秀

教师节日记3优秀

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。教师节日记3篇一晚上,我拿出卡纸...

其他范文 2024-06-15