Home
JavaEE
Java GUI
Framework
DHtml
Android
插画
留言本
  • 对暴力破解带密码的QQ相册的可行性分析
  • 今晚在163上看到新闻,但最令我感概的是该项新闻的评论
  • windows下安装CodeBlocks+MinGW+wxWidgets的方法
  • 金辉煌名苑 - 城市中央居住新领域 (网站上线)
  • 博客更新了一些我用电脑画的画,希望大家给点意见。
  • 我和老婆的婚纱相,自已做成了web方式
  • 在android的sdk中动态添加view的方法
  • Android中给Spinner或ListView添加数据
  • 我用android sdk做的一个扫雷游戏
  • 看看android扫雷游戏的主要代码
  • 在客户端IE中使用jasperView,客户端显示JasperViewer
  • jspsmartupload取得参数的值是乱码的问题
  • 客户端显示JasperViewer并在Jasperview的applet中加超链接
  • Hibernate基于链接表的多对多many-to-many双向关联例子
  • Hibernate双主键的设置例子
  • Hibernate中的properties和formula的用法
  • Android中,Drawable接口及其子类的使用方法
  • Android中用Bitmap获取图片中某个区域的图象
  • Android中AnimationDrawable实现简单动画的例子
  • Animation与Interpolator及AnimationSet的用法
Java下实现XP强制关机的方法
posted by David Chen at May 6, 2009, 5:22 PM

        看了标题,千万不要误会,其实说到底只是调用XP下的exe程序实现强制关机而已,并不是调用win32相关的api。自从老爸迷上了打麻将后,几乎天天出去打麻将赌钱,也是,一个人,无功无业,在家无所事事,难免想找点乐子。为了这事,我就专门买了一台电脑给他用了后,打麻将几乎没有了,到是天天对着电脑开初只是看股市炒权证,后来发展到会看网页,会找资料。星期1~5每天在线看股市也就算了,但是股市收盘后,包括星期6,7,其它时间都在上网看新闻,看文章,平均每天差不多有12小时在上网的。有那么好看吗?近期专家对“网瘾”的定义好像就是每天对电脑9个小时以上,看到老爸这样对着电脑,觉得专家将“网瘾”看成是精神病的一种真的很贴切,看来专家们真的是做到深入调研的。为了老爸的身体健康,觉得还是写一个强制关机的程序控制一下比较好,大不了打电话来问的时候就说中毒了。只要在xp启动的时候调用javaw去运行这个java程序,就可以无声无息了。
        先看看xp下shutdown.exe的参数:
        shutdown.exe -a         取消关机
        shutdown.exe -f         强行关闭应用程序。
        shutdown.exe -m \\计算机名   控制远程计算机。
        shutdown.exe -i         显示图形用户界面,但必须是Shutdown的第一个参数。  
        shutdown.exe -l         注销当前用户。
        shutdown.exe -r         关机并重启。
        shutdown.exe -t时间       设置关机倒计时。
        shutdown.exe -c"消息内容"    输入关机对话框中的消息内容(不能超127个字符)。
        如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 3600”,这里表示60分钟后自动关机,“3600”代表60分钟。
        如果想取消的话,可以在运行中输入“shutdown -a”。另外输入“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。
        虽然shutdown.exe是Windows XP下的程序,在Windows2000中是调用Windows下System中的Shell32.dll文件来实现关机的,例如“indir\RunDLL32.exe indir\System\Shell32.dll,SHExitWindowsEx 8”,但在Win2000也可利用它,方法如下:
        在WinXP安装目录下的System32文件夹中找到Shutdown.exe,将它复制到Win2000安装目录下的System32文件夹中,在“运行”中输入“Shutdown.exe”,即可像在Windows XP中一样使用该程序了。

        决定使用下面这名命令:Shutdown.exe -s -t 60 -c 今天开机时间超过9小时,长时间对着电脑有害健康,为了你的身体健康,电脑将会自动关机。
        程序使用properties文件作配置,好方更修改的时候不用改代码重新编译。
        看一下基本的类,
class MyProcess extends java.util.Properties implements java.lang.Runnable {
// ... 相关的省略,主要看一下在run中调用Shutdown.exe以实现强制关机 ...

MyProcess() {
config = new java.io.File( "config.properties" );
}

public void run() {
while ( true ) {
if( isMoreThen9Hours() ) {
String shutDownCommand = this.getProperty( "shutDownCommand" );
String shutDownMsg = this.getProperty( "shutDownMsg" );
Runtime r = Runtime.getRuntime();
r.exec(
shutDownCommand.concat(" ").concat( shutDownMsg )
);
}
try { Thread.currentThread().sleep( saveInterval ); } catch (InterruptedException e) {}
}
}
}
Labels:   Java  
Trackback:   http://cwq.iou1314.com/java-xp-shutdown_a346
本站内的任何文章,只代表个人意见或学习所用,如有版权声明,请尊重作者的劳动成果,在转载时请保留原始链接并注明出处。
© 2007 - 2010 CWQ.IOU1314.COM All Rights Reserved.