从命令行进入睡眠或Windows关闭计时器

本文的价值不在于解决方案本身,而是在提醒人们如何快速解决简单的问题。


但是,如果您需要一个简单的解决方案,请:


将这些行保存在CMD中,在20分钟(1200秒)启动后计算机将进入睡眠模式。该程序总共占用73个字节

ping 127.0.0.1 -n 1201 > nul
rundll32 powrprof.dll,SetSuspendState 0,1,0


但是,如果您需要将其关闭,则所有内容都会更短,即47 bytes仅第二行如下所示:

shutdown -s -t 00


我上床睡觉之前会用到它,包括我最喜欢的在线收音机“也要睡觉”,这也是从命令行开始的,下面将对此进行讨论。

请谁仍在好奇之下。在文章末尾链接到现成的脚本。



在大多数情况下,所有新事物都被遗忘了。



首先,让我们看一下这些行的作用:


我们ping一个始终可用IP地址(除非您的防火墙配置为“ fancy”)。默认间隔为1000毫秒= 1秒。-n开关将重复次数设置为20分钟x 60秒= 1200 + 1(因为第一次ping在不到1 ms的时间内返回)。> nul构造告诉解释器,标准输出将发送到nul,以消除不必要的输出到屏幕。

ping 127.0.0.1 -n 1201 > nul


调用rundll32.exe程序以执行DLL例程。在这种情况下,SetSuspendState带有我们需要的参数。有关MSDN的详细说明

rundll32 powrprof.dll,SetSuspendState 0,1,0


应该注意的是,如果启用了混合睡眠模式(Hibernate),则它将进入该模式。您可以通过以管理员身份运行以下命令来禁用它:

powercfg -hibernate off


扰流板下还有更多用途,例如...
Winamp .

start winamp http://cast.loungefm.com.ua:8000/acoustic128


(WIN + L).

rundll32.exe User32.dll,LockWorkStation


(Hibernate).

rundll32.exe PowrProf.dll,SetSuspendState


.

shutdown.exe -r -t 00


( ).

rundll32 user32.dll,SwapMouseButton


.

rundll32 shell32.dll,Control_RunDLL main.cpl,@0,1


.

rundll32 user,SetCursorPos


.

rundll32 user,CascadeChildWindows


.

rundll32 user,TileChildWindows


, WinAPI .



有许多人喜欢的著名表达:



懒惰是进步的动力。


一段历史:


早在2003年,就匆匆编写了一个简单的程序,以通过计时器关闭PC。我自己写的,因为那时我没有任何熟悉的程序员,也没有Internet访问权限。我敢肯定,许多购买或切割MSDN光盘的“家庭程序员”都整夜学习Windows编程。在写这篇文章之际,我在父母电脑上的旧档案中打开了它。她看上去很简单,但完成了任务。事实证明,甚至现在我的几个朋友都在使用它。

图片

我不记得上面写的是什么(VC,VB,Delphi或Assembler)。它的大小也不大,但是仍然无法比较1616647字节

几天前,当我需要相同的功能时,我开始寻找相似的软件。想象一下,当我发现平均从1.1 MB大小15.2 MB的巨大怪物的一堆程序时,我感到失望自然,我的良心不允许我即使在沙箱中也发动这一异端。当意识到我需要20分钟的执行延迟并只调用一个过程时,我想起了rundll32.exe,它进入了Internet并且没有记错。结果,在1分钟内找到了溶液。



道德:



我们通常不需要第三方软件来解决简单的任务。只需到搜索引擎找到该问题的简单解决方案就足够了,该问题已经有98.785%属于公共领域。当然,我们需要提到另一种方法,对于真正的IT专家来说,请发挥想象力,转到MSDN手册并使用现成的OS功能。同意,使用简单而优雅的解决方案是一件令人愉快的事情,但是当您凭自己的想法做出他们的决定时,这会更加令人高兴。



如先前所保证的链接:

关闭计时器的脚本,启动收音机并切换到睡眠模式-radio_sleep_scripts.zip

突然,我的老手将变得有趣-ExitXP.exe




希望您喜欢我的第一篇文章。我很乐意对这篇文章提出意见和建议。我希望在评论中看到您对类似问题的有趣解决方案。谢谢您的宝贵时间,请阅读全文。



All Articles