2010-03-01 2 views
4

Je sais que shutdown -a va arrêter un arrêt de Windows, mais j'ai besoin de savoir s'il y a quelque chose où je peux vérifier pour voir si un arrêt est en cours.Empêcher l'arrêt de Windows 7

Idéalement, je voudrais un petit programme comme celui-ci:

import os 

while True: 
    shuttingDown = <shutdown variable to check> 
    if shuttingDown: 
     os.system("shutdown.exe -a") 
+7

Ce genre de question me suggère que vous essayez de faire quelque chose de mal. Pourriez-vous expliquer pourquoi vous voulez annuler l'arrêt lorsque l'utilisateur a clairement indiqué qu'il veut arrêter? –

+1

Windows 7 RC1 expire aujourd'hui et s'éteint toutes les 2 heures sans enregistrer. Essayer d'arrêter la fermeture. –

+8

@Kenneth: voici une idée originale: achetez le logiciel que vous utilisez! –

Répondre

1

Pour empêcher un arrêt de Windows quand il se produit, vous pouvez réagir au message WM_QUERYENDSESSION (ne sais pas si vous pouvez le faire facilement avec l'API win32 de Python mais c'est simple en C). Cela peut empêcher les applications de se fermer car Windows envoie WM_ENDSESSION à ceux qui répondent TRUE au message de requête.

Je suppose que vous préférez éviter un arrêt temporisé en utilisant "shutdown.exe". Je suis sûr que le programme utilise InitiateSystemShutdown pour afficher la boîte de dialogue d'arrêt, mais il n'y a pas de ressources sur l'interception de cet appel (au moins, je n'ai pas trouvé ou connaître une fonctionnalité Windows qui permet une telle chose).