ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 非Office软件 > 如何用JS+HTA编写定时关机或重启小软件??

如何用JS+HTA编写定时关机或重启小软件??

作者:绿色风 分类: 时间:2022-08-18 浏览:136
楼主
wudixin96
把下面的代码保存到TXT文件中,并把TXT扩展名改成HTA。具体看图。
  1. <html>

  2. <head>
  3. <title>Windows Timer</title>
  4. <meta http-equiv="content-type" content="text/html;charset=gb2312">

  5. <hta:application
  6.         id="WTimer"
  7.         maximizebutton="No"
  8.         minimizebutton="Yes"
  9.         singleinstance="Yes"
  10.         contextmenu="Yes"
  11.         sysmenu="Yes"
  12.         version="1.0"
  13.         innerborder="No"
  14.         caption="Yes"
  15.         showintaskbar="Yes"
  16.         border="Normal"
  17.         borderstyle="Normal"
  18.         applicationname="Windows Timer"
  19.         icon="TimerIco.ico"
  20. />

  21. <Style type="text/css">
  22. <!--
  23. * { font-family:Courier New,Arial,Sans-serif;font-size:9pt; }
  24. body { overflow-y:hidden; }
  25. div a:link,div a:visited { text-decoration:none;color:#000 }
  26. div a:hover { text-decoration:underline;color:#f00 }
  27. #footerinfo { width:100%;display:table;margin-top:5px; }
  28. #left { float:left;width:70%; }
  29. #right { float:right;width:29%;text-align:right;margin-right:1px; }
  30. -->
  31. </Style>

  32. <Script Language="JavaScript">
  33. <!--

  34. $bl_Sleep=false;

  35. function getObject($obj) {
  36.         return(document.getElementById($obj));
  37. }

  38. String.prototype.parseInt=function() {
  39.         return(parseInt(this));
  40. }

  41. function getRadioVal($name) {
  42.         $oEms=document.getElementsByName($name);
  43.         for ($i=0;$i<$oEms.length;$i++) {
  44.                 if ($oEms[$i].checked) { return($oEms[$i].value); }
  45.         }
  46. }

  47. function isDeclared($varName) {
  48.         return(typeof($varName)!="undefined");
  49. }

  50. function chStatus($name,$status) {
  51.         $ooEms=document.getElementsByName($name);
  52.         for ($a=0;$a<$ooEms.length;$a++) {
  53.                 $ooEms[$a].disabled=$status;
  54.         }
  55. }

  56. function window.onload() {
  57.         $sWidth=window.screen.width;
  58.         $sHeight=window.screen.height;
  59.         $aWidth=400;
  60.         $aHeight=185;
  61.         window.resizeTo($aWidth,$aHeight);
  62.         window.moveTo(($sWidth-$aWidth)/2,($sHeight-$aHeight)/2);
  63.         document.bgColor="#d4d0c8";
  64.         getObject("StopButton").disabled=true;
  65.         getObject("left").innerHTML="提示:请选择您想要使用的功能!";
  66. }

  67. function Timer_Quit() {
  68.         window.close();
  69. }

  70. function Timer_Kernel() {
  71.         if ($bl_Sleep) {
  72.                 if (isDeclared($time) && isDeclared($mod_time) && isDeclared($operation)) {
  73.                         if ($time>0) {
  74.                                 $Oper_str="";
  75.                                 $Hint_str="";
  76.                                 if ($operation=="rWin") { $Oper_str="重启"; }
  77.                                 else { $Oper_str="关闭"; }
  78.                                 if ($mod_time=="mod_minute") {
  79.                                         $tMinute=($time/60).toString().parseInt();
  80.                                         $tSecond=($time%60).toString();
  81.                                         $Hint_str="提示:计算机将于 "+$tMinute+" 分 "+$tSecond+" 秒后"+$Oper_str+"!";
  82.                                 }
  83.                                 else {
  84.                                         $Hint_str="提示:计算机将于 "+$time+" 秒后"+$Oper_str+"!";
  85.                                 }
  86.                                 getObject("left").innerHTML=$Hint_str;
  87.                                 $time=$time-1;
  88.                                 $o=setTimeout("Timer_Kernel()",1000);
  89.                         }
  90.                         else {
  91.                                 $Flag="";
  92.                                 if ($operation=="rWin") {
  93.                                         $Flag=6;        //6为重启操作系统
  94.                                 }
  95.                                 else {
  96.                                         $Flag=1;        //1为关闭操作系统
  97.                                 }
  98.                                 OperateWin32($Flag);
  99.                                 getObject("left").innerHTML="提示:正在执行预定操作!";
  100.                         }
  101.                 }
  102.         }
  103. }

  104. function Timer_Stop() {
  105.         $bl_Sleep=false;
  106.         if (isDeclared($o)) { clearTimeout($o); }
  107.         getObject("time").disabled=false;
  108.         getObject("mod_time").disabled=false;
  109.         chStatus("operation",false);
  110.         getObject("StartButton").disabled=false;
  111.         getObject("StopButton").disabled=true;
  112.         getObject("left").innerHTML="提示:请选择您想要使用的功能!";
  113. }

  114. function Timer_Start() {
  115.         $bl_Sleep=true;
  116.         $nowTime="";
  117.         $time=getObject("time").value;
  118.         $mod_time=getObject("mod_time").value;
  119.         $operation=getRadioVal("operation");
  120.         if (isNaN($time) || $time=="") {
  121.                 alert("请正确设定一个时间值!  ");
  122.                 getObject("time").select();
  123.                 return;
  124.         }
  125.         else {
  126.                 $time=$time.parseInt();
  127.                 if ($mod_time=="mod_minute") { $time=$time*60; }       
  128.         }
  129.         getObject("time").disabled=true;
  130.         getObject("mod_time").disabled=true;
  131.         chStatus("operation",true);
  132.         getObject("StartButton").disabled=true;
  133.         getObject("StopButton").disabled=false;
  134.         Timer_Kernel();
  135. }

  136. function OperateWin32($DownFlag) {
  137.         $OS_Pro=GetObject("WinMgmts:{(shutdown)}//./root/cimv2").ExecQuery("select * from win32_operatingsystem where primary=true");
  138.         for ($e=new Enumerator($OS_Pro);!$e.atEnd();$e.moveNext()) {
  139.                 $getProcess=$e.item()
  140.                 $getProcess.win32shutdown($DownFlag);
  141.         }
  142. }

  143. function ResponseKeyPress() {
  144.         if (event.keyCode==13) {
  145.                 event.keyCode=9;
  146.         }
  147. }

  148. //-->
  149. </Script>
  150. </head>

  151. <body>
  152.         <fieldset>
  153.                 <table width="100%" border="1" cellpadding="4" cellspacing="3">
  154.                 <form name="form1">
  155.                         <tr>
  156.                                 <td width="25%">设定时间:</td>
  157.                                 <td width="75%"><select name="time" onkeypress="ResponseKeyPress()">
  158.                                                 <option value="20">20</option>
  159.                                                 <option value="30">30</option>
  160.                                                 <option value="40">40</option>
  161.                                                 <option value="50">50</option>
  162.                                                 <option value="60" selected>60</option>
  163.                                                 <option value="70">70</option>
  164.                                                 <option value="80">80</option>
  165.                                                 <option value="90">90</option>
  166.                                                 <option value="100">100</option>
  167.                                                 <option value="110">110</option>
  168.                                                 <option value="120">120</option>
  169.                                                 <option value="130">130</option>
  170.                                         </select>
  171.                                         <select name="mod_time">
  172.                                                 <option value="mod_minute">分钟</option>
  173.                                                 <option value="mod_second">秒钟</option>
  174.                                         </select>
  175.                                 </td>
  176.                         </tr>
  177.                         <tr>
  178.                                 <td>功能选择:</td>
  179.                                 <td>
  180.                                         <input type="radio" name="operation" value="rWin" />重启
  181.                                         <input type="radio" name="operation" value="cWin" checked="checked" />关机
  182.                                 </td>
  183.                         </tr>
  184.                         <tr>
  185.                                 <td colspan="2" style="text-align:right">
  186.                                         <input type="button" name="StartButton" value=" 应用 " onclick="Timer_Start()" />
  187.                                         <input type="button" name="StopButton" value=" 取消 " onclick="Timer_Stop()" />
  188.                                         <input type="button" name="ExitButton" value=" 退出 " onclick="Timer_Quit()" />
  189.                                 </td>
  190.                         </tr>
  191.                 </form>
  192.                 </table>
  193.         </fieldset>
  194.         <div id="footerinfo">
  195.                 <div id="left"></div>
  196.                 <div id="right">
  197.                        
  198.                 </div>
  199.         </div>
  200. </body>

  201. </html>
fff.gif
 
2楼
biaotiger1
无敌,名不虚传、
3楼
纵鹤擒龙水中月
学习
4楼
水星钓鱼
这个真是酷帖

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap