[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
投稿
猜你喜欢
- 四大前缀除了普通的字符串,python在字符串前面可以有4个前缀,即frub。其中,f字符串可将{}中的变量转为字符串;r表示取消转义;u表
- 使用MySQL进行数据库备份,有很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的
- 2022-09-29shell操作:我在使用中是pycharm与数据库建立连接的一个工具。使用的环境:在此处是用在了虚拟环境中。使用场景:一
- /* --注意:准备数据(可略过,非常耗时) CREATE TABLE CHECK1_T1 ( ID INT, C1 CHAR(8000)
- 登陆流程图:代码实现:#-*- coding=utf-8 -*-import os,sys,getpass'''us
- 见图---pycharm左下角点击,就会发现来源:https://blog.csdn.net/huanglei1234567890/arti
- 内容摘要合理使用渐变留白网格布局提高字体应用明确而有效的导航设计漂亮、有用的页脚介绍优秀设计和卓越设计之间的区别是比较小的。一般人可能无法解
- 遍历并修改图像像素值在使用opencv处理图像时,有时需要对图像的每个像素点进行处理,比如取反、修改值等操作,就需要通过h和w遍历像素。依然
- 前言大家好,我是Peter~本文记录的是Pandas两种少用的读取文件方式:读取在线文件的数据读取剪贴板的数据声明:本文案例和在线数据仅用于
- 先说说线程在多线程中,为了保证共享资源的正确性,我们常常会用到线程同步技术.将一些敏感操作变成原子操作,保证同一时刻多个线程中只有一个线程在
- 示例很简单,注释里也都做了说明,这里就不多废话了。<?php/*从平台获取数据库名*/$dbname = "";/
- 项目运行环境阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿里云本文不做描述。
- 本文实例为大家分享了用vue实现加载页的具体代码,供大家参考,具体内容如下<template>? ? <div class
- 据说在任天堂FC时代,精灵的作用相当巨大,可是那时候只知道怎么玩超级玛丽、魂斗罗,却对精灵一点也不知。pygame.sprite.Sprit
- MySQL 5.0.16的乱码问题可以用下面的方法解决:1.设置phpMyAdminLanguage:Chinese simplified
- 比如在学习list、tuple、dict、str、os、sys等模组的时候,利用Python的自带文档可以很快速的全面的学到那些处理的函数。
- 一、所需库安装pip install PyAudiopip install SpeechRecognitionpip install bai
- 一、Python下载1.进入Python官网:https://www.python.org/2.选择windows版本(Download &
- 前几天,因为需要实现海外服务端定时停机,涉及到时区的概念。网上搜索了一下,大部分都是谈time.Format中的Layout,非常不成体系,
- 前言本文提供在在无音频的视频中添加音频的python工具,附上代码。环境依赖ffmpeg环境安装,可以参考:windows ffmpeg安装