网络编程
位置:首页>> 网络编程>> JavaScript>> [hta]一个定时重启或关闭计算机的小工具

[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下又跑
手机版 网络编程 asp之家 www.aspxhome.com