[hta]一个定时重启或关闭计算机的小工具
作者:十一狼 来源:蓝色理想 发布时间:2007-10-17 12:02:00
标签:关机,重启,定时,hta
近日无事,想起以前曾打算过要做一个定时重启或关机的工具,便花了一点时间以hta的形式写了个,名为"Windows Timer",截图如下:
附上源代码:
<!--
/*-------------------------------------------------------------------------------
Description:一个用于定时重启或关闭计算机的小工具,适用于Windows 2K/XP/2003
Author:十一狼
Email:112183883@163.com
QQ:112183883
WebSite:http://www.w3cg.net/
-------------------------------------------------------------------------------*/
-->
<html>
<head>
<title>♀Windows系统计时器♀</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<hta:application
id="WTimer"
maximizebutton="No"
minimizebutton="Yes"
singleinstance="Yes"
contextmenu="Yes"
sysmenu="Yes"
version="1.0"
innerborder="No"
caption="Yes"
showintaskbar="Yes"
border="Normal"
borderstyle="Normal"
applicationname="Windows Timer"
icon="TimerIco.ico"
/>
<Style type="text/css">
<!--
* { font-family:Courier New,Arial,Sans-serif;font-size:9pt; }
body { overflow-y:hidden; }
div a:link,div a:visited { text-decoration:none;color:#000 }
div a:hover { text-decoration:underline;color:#f00 }
#footerinfo { width:100%;display:table;margin-top:5px; }
#left { float:left;width:70%; }
#right { float:right;width:29%;text-align:right;margin-right:1px; }
-->
</Style>
<Script Language="JavaScript">
<!--
$bl_Sleep=false;
function getObject($obj) {
return(document.getElementById($obj));
}
String.prototype.parseInt=function() {
return(parseInt(this));
}
function getRadioVal($name) {
$oEms=document.getElementsByName($name);
for ($i=0;$i<$oEms.length;$i++) {
if ($oEms[$i].checked) { return($oEms[$i].value); }
}
}
function isDeclared($varName) {
return(typeof($varName)!="undefined");
}
function chStatus($name,$status) {
$ooEms=document.getElementsByName($name);
for ($a=0;$a<$ooEms.length;$a++) {
$ooEms[$a].disabled=$status;
}
}
function window.onload() {
$sWidth=window.screen.width;
$sHeight=window.screen.height;
$aWidth=400;
$aHeight=185;
window.resizeTo($aWidth,$aHeight);
window.moveTo(($sWidth-$aWidth)/2,($sHeight-$aHeight)/2);
document.bgColor="#d4d0c8";
getObject("StopButton").disabled=true;
getObject("left").innerHTML="提示:请选择您想要使用的功能!";
}
function Timer_Quit() {
window.close();
}
function Timer_Kernel() {
if ($bl_Sleep) {
if (isDeclared($time) && isDeclared($mod_time) && isDeclared($operation)) {
if ($time>0) {
$Oper_str="";
$Hint_str="";
$Titl_str="";
if ($operation=="rWin") {
$Oper_str="<span style=\"color:red\">提示:系统计时重启功能已启用,请注意保存!</span>";
}
else {
$Oper_str="<span style=\"color:red\">提示:系统计时关闭功能已启用,请注意保存!</span>";
}
if ($mod_time=="mod_minute") {
$tMinute=($time/60).toString().parseInt();
$tSecond=$time%60;
if ($tMinute!=0) {
if ($tSecond<10) {
$tSecond="0"+$tSecond;
}
$Titl_str="剩余时间:"+$tMinute+"分"+$tSecond+"秒";
}
else {
$Titl_str="剩余时间:"+$tSecond+"秒";
}
}
else {
$Titl_str="剩余时间:"+$time+"秒";
}
getObject("left").innerHTML=$Oper_str;
document.title=$Titl_str;
$time=$time-1;
$o=setTimeout("Timer_Kernel()",1000);
}
else {
$Flag="";
if ($operation=="rWin") {
$Flag=6; //6为重启操作系统
}
else {
$Flag=1; //1为关闭操作系统
}
OperateWin32($Flag);
getObject("left").innerHTML="<span style=\"color:red\">提示:正在执行预定操作!</span>";
document.title="正在执行预定操作";
}
}
}
}
function Timer_Stop() {
$bl_Sleep=false;
if (isDeclared($o)) { clearTimeout($o); }
getObject("time").disabled=false;
getObject("mod_time").disabled=false;
chStatus("operation",false);
getObject("StartButton").disabled=false;
getObject("StopButton").disabled=true;
getObject("left").innerHTML="提示:请选择您想要使用的功能!";
document.title="♀Windows系统计时器♀";
}
function Timer_Start() {
$bl_Sleep=true;
$nowTime="";
$time=getObject("time").value;
$mod_time=getObject("mod_time").value;
$operation=getRadioVal("operation");
if (isNaN($time) || $time=="") {
alert("请正确设定一个时间值! ");
getObject("time").select();
return;
}
else {
$time=$time.parseInt();
if ($mod_time=="mod_minute") { $time=$time*60; }
}
getObject("time").disabled=true;
getObject("mod_time").disabled=true;
chStatus("operation",true);
getObject("StartButton").disabled=true;
getObject("StopButton").disabled=false;
Timer_Kernel();
}
function OperateWin32($DownFlag) {
$OS_Pro=GetObject("WinMgmts:{(shutdown)}//./root/cimv2").ExecQuery("select * from win32_operatingsystem where primary=true");
for ($e=new Enumerator($OS_Pro);!$e.atEnd();$e.moveNext()) {
$getProcess=$e.item()
$getProcess.win32shutdown($DownFlag);
}
}
function ResponseKeyPress() {
if (event.keyCode==13) { event.keyCode=9; }
}
//-->
</Script>
</head>
<body>
<fieldset>
<table width="100%" border="1" cellpadding="4" cellspacing="3">
<form name="form1">
<tr>
<td width="25%">设定时间:</td>
<td width="75%"><input type="text" name="time" size="20" value="" onkeypress="ResponseKeyPress()" />
<select name="mod_time">
<option value="mod_minute">分钟</option>
<option value="mod_second">秒钟</option>
</select>
</td>
</tr>
<tr>
<td>功能选择:</td>
<td>
<input type="radio" name="operation" value="rWin" checked="checked" />重启
<input type="radio" name="operation" value="cWin" />关机
</td>
</tr>
<tr>
<td colspan="2" style="text-align:right">
<input type="button" name="StartButton" value=" 应用 " onclick="Timer_Start()" />
<input type="button" name="StopButton" value=" 取消 " onclick="Timer_Stop()" />
<input type="button" name="ExitButton" value=" 退出 " onclick="Timer_Quit()" />
</td>
</tr>
</form>
</table>
</fieldset>
<div id="footerinfo">
<div id="left"></div>
<div id="right">
作者:<a href="http://www.w3cg.net/" title="访问作者博客">十一狼</a>
</div>
</div>
</body>
</html>
如果有朋友需要,可以点此链接下载:下载地址:WindowsTimer.rar (5.60 KB)
0
投稿
猜你喜欢
- 随着手机用户的不断增加,WAP站点如雨后春笋迅速的滋长开来,手机邮箱也不断的出现在人的眼前,笔者也曾经开发了一套手机邮箱的系统,但由于时间仓
- IE8 的测试版发布,ACID 3 测试正式推出,听上去是让人兴奋的技术进步,而对中文互联网站却是极大的威胁:这意味着,超过半数的中文网页在
- JavaScript 中的并没有提供像 VBScript 里的 DateAdd 方法用于日
- 本文介绍了几乎所有关于对象的基本概念,什么是对象,如何创建对象,对象的属性的设置和读取,删除属性的方法,构造函数,对象原型,父类,子类,继承
- 你还没用 jQuery 写过导航菜单? 相信看到这些出色的jQuery导航菜单后,一定会为此而后悔没早点把 jQuery 应用到自己的Web
- 这个是今年年初写的一篇,拿出来温习下。指针让程序结构变得混乱,也让程序执行效率提高,因此在oo的语言中不提倡指针的使用,使得程序结构清晰易读
- 刚才运行了一段代码,来查看Request.ServerVariables里面有多少值,看了一下,共50个!代码<%=Request.S
- MySQL内部复制功能是建立在两个或两个以上服务器之间,通过设定它们之间的主-从关系来实现的。其中一个作为主服务器,其它的作为从服务器。本节
- 有很多种方法来实现图片的预加载,通常大部分使用Javascript让事情滚动。不要再受Javascript预载的束缚了吧,用CSS你就可以毫
- 关于mysql数据库在Linux下的应用一直以来都是我认为比较棘手的,这次通过搭建Linux学习环境顺便研究和学习Mysql数据库在Linu
- 场景一:A网站全站均为UTF-8编码,B网站全站为GB2312编码。A网站提供一段JS代码供B网站调用,该代码会动态生成一个FORM表单,以
- YSlow是yahoo美国开发的一个页面评分插件,非常的棒,从中我们可以看出我们页面上的很多不足,并且可以知道我们改怎么却改进和优化。仔细研
- 今天想说的是内容和容器的关系,顺便把之前设计中碰到的问题和大家一起探讨下。我们从软件的设置说起。(这里以QQ的设置举例)一个软件的设置(常称
- 在自己的网站主页上增加社会化分享按钮,是有效提高自己网站流量的一种方法。今天我在无争围棋网上增加了社会化按钮,根据我个人的习惯,我选择了豆瓣
- 因为要做移动梦网WAP的一些接口,所以要用到这种方式,接下来会有ASP.net版本的,这个是ASP版本的,利用了MSXML2.XMLHTTP
- 代码如下:'===================================== '转换内容,防止意外 '==
- 我差不多是与做web design的同时接触的flash design,因为那会普遍认为flash神通广大、无所不能。这些年我看Adobe的
- 问:怎样才能指定MySQL只监听某个特定地址?答:比较常见的办法是,在my.cnf之mysqld节,添加bind-address=127.0
- int connectDb() { EXEC SQL BEGIN DECLARE SECTION; char username[20]; c
- Google Chrome,又喜欢逛豆瓣,Google Chrome支持User Scripts了,但是我写的那几个插件在Chrome下又跑