![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 05:23 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创]定时重启或关闭计算机的小工具(修改版) |
| 可打印版本 2,390 / 17 |
| 第1楼 112183883 | 发表于 2007-04-19 15:52 |
| 初级用户 发帖 31 积分 128 | |
|
[原创]定时重启或关闭计算机的小工具(修改版) 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.checked) { return($oEms.value); } } } function isDeclared($varName) { return(typeof($varName)!="undefined"); } function chStatus($name,$status) { $ooEms=document.getElementsByName($name); for ($a=0;$a<$ooEms.length;$a++) { $ooEms.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> 补记:略微作了一点修改。。(4.19) 如有需要,请点击附件下载。 [ Last edited by 112183883 on 2007-4-20 at 10:57 AM ] 附件 ♀Windows系统计时器♀.rar (5.74 KiB) |
|
| 第2楼 baomaboy | 发表于 2007-04-19 15:58 |
| 银牌会员 发帖 554 积分 1,513 | |
|
界面不错!
|
|
| 第3楼 bw070 | 发表于 2007-04-19 23:38 |
| 中级用户 发帖 137 积分 292 | |
|
貌似html和jave语言编写的
|
|
| 第4楼 bw070 | 发表于 2007-04-19 23:56 |
| 中级用户 发帖 137 积分 292 | |
|
挖哈哈 看了下 8错8错~回来顶一下!!!!
原来htm后缀改成hta有这种效果 学习了~~ 呵呵 html还是会点 可以编程序了 谢谢了~ 学习了! 注释下: HTA简介:HTA是HTML Application的缩写(HTML应用程序),是软件开发的新概念,直接将HTML保存成HTA的格式,就是一个独立的应用软件,与VB、C++等程序语言所设计的软件没什么差别。 [ Last edited by bw070 on 2007-4-19 at 10:58 AM ] |
|
| 第5楼 htysm | 发表于 2007-04-20 00:19 |
| 高级用户 发帖 415 积分 866 | |
|
偶对HTML一窍不通,但还是加分。
|
|
| 第6楼 htysm | 发表于 2007-04-20 00:22 |
| 高级用户 发帖 415 积分 866 | |
|
不过一个关机和重启的小问题,居然用这么长的代码,偶又觉得不值得,用一行代码就搞定那是最好不过的了。
|
|
| 第7楼 zh159 | 发表于 2007-04-20 00:36 |
| 金牌会员 发帖 1,467 积分 3,687 | |
Originally posted by htysm at 2007-4-19 11:22: 看看你能不能一行代码就搞定界面设置、设定时间、功能选择、倒计时显示、取消设定 |
|
| 第8楼 112183883 | 发表于 2007-04-20 00:46 |
| 初级用户 发帖 31 积分 128 | |
|
呵呵,谢楼上各位,如楼上所说,我主要是想弄个界面,要说到功能,确实没添加啥功能,上面这个工具所具备的功能,大部份可以用很精简的VBS或BAT命令来实现,只是我这个人要么就不做,要么就做得漂亮一点,算是个凡事都趋向于完美的人吧。
有朋友说一行代码就能搞定,的确,但不知道你说的是用啥?rundll32.exe?shutdown?rundll32程序倒是可以实现,但需要对系统api有一个较深的认识,我想很多朋友可能都对那个东东不太熟悉吧。至于shutdown,只不过是对api的封装罢了,而且时间设定还不能超过600秒,也就是说十分钟,最要命的一点是2K不支持(不要告诉我说从XP上复制,呵呵,谢谢你对这个工具的关注,也多谢你的分哦)。 我习惯睡觉的时候把电脑开着,放点音乐听着睡,但郁闷的是常常听着听着就睡着了,而忘了关电脑,所以就弄了这么个小工具来帮我关机,呵呵,如果这个小东东还能为你带来那么一点点方便的话,我将深感荣幸! [ Last edited by 112183883 on 2007-4-20 at 12:49 AM ] |
|
| 第9楼 htysm | 发表于 2007-04-20 01:05 |
| 高级用户 发帖 415 积分 866 | |
|
shutdown -s -f -t 8888 -c "这个超过几小时了"
|
|
| 第10楼 112183883 | 发表于 2007-04-20 10:45 |
| 初级用户 发帖 31 积分 128 | |
|
谢谢楼上,学习了,我一直还以为shutdown只能设定600秒呢。
|
|
| 第11楼 Vampire | 发表于 2007-04-20 11:18 |
| 初级用户 发帖 78 积分 176 | |
|
偶下下来了,咋个用不起呢?
|
|
| 第12楼 Vampire | 发表于 2007-04-20 11:20 |
| 初级用户 发帖 78 积分 176 | |
|
以下为图片内容。
附件 未命名.JPG (52.53 KiB) |
|
| 第13楼 112183883 | 发表于 2007-04-20 11:57 |
| 初级用户 发帖 31 积分 128 | |
|
将下面这一段从代码中删除后再试一下。
<!-- /*--------------------Windows Timer--------------------------------------------- Description:一个用于定时重启或关闭计算机的小工具,适用于Windows 2K/XP/2003 Author:十一狼 Email:112183883@163.com QQ:112183883 WebSite:http://www.w3cg.net/ -------------------------------------------------------------------------------*/ --> |
|
| 第14楼 guxingyibei | 发表于 2007-04-20 12:01 |
| 初级用户 发帖 32 积分 68 | |
|
好用 想知道hta和html有什么不同啊?前面的是图形界面,后一个是网页形式,是不是还有其他区别啊!??
顶下 |
|
| 第15楼 112183883 | 发表于 2007-04-20 12:04 |
| 初级用户 发帖 31 积分 128 | |
|
我这里很正常,截图:
![]() 你的是什么系统? |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |