1. //********************************* 说明 *****************************************
  2. //时间格式为24小时制 -- 00:00~23:59
  3. //当不在这个范围内会报错并返回让用户重新输入~~ :)
  4. //********************************* 源代码 *****************************************
  5. dim Obj,UserName,NowTime,LenS,Num
  6. set Obj = createobject("WScript.Shell")
  7. //调用“Wscript.Shell”
  8. UserName=Obj.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOwner")
  9. // RegRead -- 读取注册表
  10. YN=Obj.Popup(UserName&" 你好,是否使用自动定时关机?",0,"关机?",36)
  11. //Popup--弹出对话框
  12. 如果表达式 (YN=6) 为真,则
  13.     //标记 输入时间
  14.     标记 InputTime
  15.     调用外部VBScript子程序 SWTime=InputBox ("请输入关机时间!24小时格式(00:00~23:59之间)!如:2:03 , 22:35")
  16.     //*********************************** 判断时间格式 ****************************************************
  17.     LenS=Len(SWTime)
  18.     //Len--获得字符串的长度
  19.     Num=Instr(SWTime,":")
  20.     //Instr--获得":"所在字符串中的位置
  21.     如果表达式 (Num=0) 为真,则
  22.         Num=Instr(SWTime,":")
  23.     条件结束
  24.     如果表达式 (Num=0) 为真,则
  25.         Call Obj.Popup("间隔符错误!请用“ : ”或者“ : ”",5,"时间格式错误!",48)
  26.         //跳到 输入时间
  27.         跳转到标记 InputTime
  28.     条件结束
  29.     如果表达式 (left(SWTime,Num-1)>23 or left(SWTime,Num-1)<0) 为真,则
  30.         //left--取字符串左边Num-1个长度的字符
  31.         Call Obj.Popup("小时格式输入错误!",5,"时间格式错误!",48)
  32.         跳转到标记 InputTime
  33.     条件结束
  34.     如果表达式 (Right(SWTime,LenS-Num)>59 or Right(SWTime,LenS-Num)<0) 为真,则
  35.         //Right--取字符串右边LenS-Num个长度的字符
  36.         Call Obj.Popup("分钟格式输入错误!",5,"时间格式错误!",48)
  37.         //跳到 输入时间
  38.         跳转到标记 InputTime
  39.     条件结束
  40.     //*********************************** 判断时间格式 ****************************************************
  41.     Call Obj.Popup("系统将在"&SWTime&"关机!!",5,"自动关机!",48)
  42.     标记 Start
  43.     NowTime=Time
  44.     //Time -- 获得当前时间
  45.     如果表达式 (Hour(SWTime)=Hour(NowTime) and Minute(SWTime)=Minute(NowTime)) 为真,则
  46.         //Hour -- 获得小时, Minute -- 获得分钟
  47.         Obj.Run "shutdown /f /s /t 0"
  48.         //调用shutdown命令。 /f--强行关闭应用程序而不提醒, /s--关闭计算机(要重启的话,请把这改成/r[重启计算机]),/t time--在time秒后前闭计算机。
  49.     条件结束
  50.     延时30000毫秒
  51.     跳转到标记 Start
  52. 条件结束