Sleep Coming ou Windows Shutdown Timer à partir de la ligne de commande

La valeur de cet article n'est pas dans la solution elle-même, mais dans un rappel à quelle vitesse vous pouvez résoudre des problèmes simples.


Mais si vous avez besoin d'une solution simple, veuillez:


Enregistrez ces lignes dans CMD et après avoir démarré dans 20 minutes (1200 secondes) l' ordinateur passera en mode veille. Au total, le programme a pris 73 octets :

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


Mais si vous avez juste besoin de le désactiver , alors tout sera encore plus court, à savoir 47 octets . Juste la deuxième ligne ressemblera à:

shutdown -s -t 00


J'utilise ceci avant d'aller me coucher, y compris ma radio en ligne préférée "pour dormir à venir" également à partir de la ligne de commande, qui sera discutée sous la coupe.

Qui est encore curieux, s'il vous plaît, sous le chat. Liens vers des scripts prêts à l'emploi à la fin de l'article.



Pour la plupart, tout ce qui est nouveau est bien oublié.



Voyons d'abord ce que font ces lignes:


Nous pingons une adresse IP qui est toujours disponible (sauf si votre pare-feu est configuré "fantaisie"). L'intervalle par défaut est de 1000 ms = 1 seconde. Le commutateur -n spécifie le nombre de répétitions 20 minutes x 60 secondes = 1200 + 1 (puisque le premier ping est renvoyé en moins de 1 ms). Et la construction > nul indique à l'interpréteur que la sortie standard sera envoyée à nul afin de se débarrasser de la sortie inutile à l'écran.

ping 127.0.0.1 -n 1201 > nul


Le programme rundll32.exe est appelé pour exécuter une routine DLL. Dans ce cas, SetSuspendState avec les paramètres dont nous avons besoin. Description détaillée sur MSDN .

rundll32 powrprof.dll,SetSuspendState 0,1,0


Il convient de noter que si vous avez activé le mode veille hybride ( Hibernate ), il entrera dans ce mode. Vous pouvez le désactiver en exécutant ce qui suit en tant qu'administrateur:

powercfg -hibernate off


Il y a encore quelques utilisations sous le spoiler par exemple ...
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 .



Il existe une expression bien connue que beaucoup de gens aiment:



La paresse est le moteur du progrès.


Un peu d'histoire:


En 2003, un programme simple a été écrit à la hâte pour éteindre le PC par minuterie. Je l'ai écrit moi-même, car à cette époque je n'avais pas de programmeurs familiers ni d'accès à Internet. Je suis sûr que bon nombre des mêmes «programmeurs à domicile» qui ont acheté ou découpé des disques MSDN ont étudié la programmation Windows toute la nuit. A l'occasion de la rédaction de l'article, je l'ai ouvert dans une ancienne archive sur le PC de mes parents. Elle avait l'air simple, mais a rempli sa tâche. En fait, même maintenant, plusieurs de mes amis l'utilisent.

image

Je ne me souviens pas sur quoi il était écrit (VC, VB, Delphi ou Assembler). Sa taille n'était pas non plus grande, mais 16 166 contre 47 octets ne peuvent toujours pas être comparés.

Et quand il y a quelques jours j'avais besoin des mêmes fonctionnalités, j'ai commencé à chercher des logiciels similaires. Imaginez ma déception quand j'ai trouvé un tas de programmes en moyenne de 1,1 Mo à d'énormes monstres de 15,2 Mo en taille. Naturellement, ma conscience ne m'a pas permis de lancer cette hérésie même dans le bac à sable. Réalisant que j'ai besoin d'un délai de 20 minutes et de l'appel d'une seule procédure, je me suis souvenu de rundll32.exe , je suis entré sur Internet et je ne me suis pas trompé. En conséquence, la solution a été trouvée en 1 minute.



Moralité:



Nous n'avons souvent pas besoin de logiciels tiers pour résoudre des tâches simples. Il suffit d'aller dans un moteur de recherche et de trouver une solution simple au problème, qui à 98,785% est déjà dans le domaine public. Bien sûr, nous devons mentionner une autre façon, pour les vrais informaticiens, allumez l'imagination, consultez les manuels MSDN et utilisez la fonctionnalité OS prête à l'emploi. D'accord, il est agréable d'utiliser des solutions simples et élégantes, mais c'est deux fois plus agréable de prendre sa décision avec son propre esprit.



Comme promis liens précédents:

Scripts pour les minuteries d'arrêt, démarrez la radio et passez en mode veille - radio_sleep_scripts.zip

Soudain, mon ancien métier sera intéressant - ExitXP.exe




J'espère que vous avez apprécié mon premier message. Je serais heureux d'avoir des commentaires et des suggestions concernant l'article. J'aimerais voir vos solutions intéressantes à des problèmes similaires dans les commentaires. Merci pour votre temps et lisez jusqu'au bout.



All Articles