Extinction différée de windows 2000

Description

Ce programme permet d'activer l'arrêt de Windows à une date et une heure précises... Rien de bien compliqué !

Ce petit bout de rien m'a été inspiré par une annonce de coupure de courant dans ma boîte (pénible quand on fait des tests de plusieurs heures !!!) et par Paprika pour son code sur l'arrêt de WinXP...

Source / Exemple :


Dim tempsOK As Boolean

Private Sub Iiame_Click()

    'On empêche la modification de la date et de l'heure une fois appuyé
    Jour.Enabled = False
    Mois.Enabled = False
    Annee.Enabled = False
    Heures.Enabled = False
    Minutes.Enabled = False
    Secondes.Enabled = False
    
    'On désactive le bouton d'arrêt, aussi, tiens... pourquoi pas...
    Iiame.Enabled = False
        
    'On attend d'être à la bonne date
    Do Until CStr(Date) = Jour.Text + "/" + Mois.Text + "/" + Annee.Text
        DoEvents
    Loop
    
    'On attend d'être à la bonne heure
    Do Until CStr(Time) = Heures.Text + ":" + Minutes.Text + ":" + Secondes.Text
        DoEvents
    Loop
        
    'Appel du gestionnaire de programmes
    AppActivate ("Program Manager")
    
    'Demande d'arrêt de Windows
    SendKeys "%{F4}"
    
    'On se donne un petit temps d'attente pour ne pas se tromper de fenêtre
    pause = True
    Do While tempsOK = False
        DoEvents
    Loop
    tempsOK = False
    
    'On positionne le choix tout en hautdans la liste
    For i = 1 To 4
    
        SendKeys "{UP}"
    
        'Un petit temps d'attente, même si ça ne sert plus trop
        pause = True
        Do While tempsOK = False
            DoEvents
        Loop
        tempsOK = False
        
    Next i
    
    'On se place sur "Arrêter l'ordinateur"
    SendKeys "{DOWN}"
    
    'Un petit temps d'attente, même si ça ne sert plus trop
    pause = True
    Do While tempsOK = False
        DoEvents
    Loop
    tempsOK = False
    
    'On se place sur le bouton OK
    SendKeys "{TAB}"
    
    'Un petit temps d'attente, même si ça ne sert plus trop
    pause = True
    Do While tempsOK = False
        DoEvents
    Loop
    tempsOK = False
    
    'Hit return, and on ze road again !!!
    SendKeys "{ENTER}"
    
End Sub

'Initialisation de la fenêtre...
Private Sub Form_Load()
    
    'On affiche la date...
    datedujour.Caption = "La date du jour est : " + CStr(Date)
    
    'On affiche l'heure aussi...
    heureactuelle.Caption = "Il est exactement : " + CStr(Time)
    
    'On propose d'éteindre... (même si concrètement ce ne sera pas possible !)
    '... tel jour...
    Jour.Text = Left(CStr(Date), 2)
    '... tel mois...
    Mois.Text = Left(Right(CStr(Date), 7), 2)
    '... telle année...
    Annee.Text = Right(CStr(Date), 4)
    '... à telle heure...
    Heures.Text = Left(CStr(Time), 2)
    '... à tant de minutes...
    Minutes.Text = Left(Right(CStr(Time), 5), 2)
    '... et on se paie même le luxe des secondes !!!...
    Secondes.Text = Right(CStr(Time), 2)
    
End Sub

'Fonction qui permet de donner le temps à Windoz de bien faire chaque étape
'à la place de l'utilisateur...
Private Sub pause_Timer()

    pause = False
    tempsOK = True
    
End Sub

'Fonction qui permet de mettre à jour la date et l'heure dans la fenêtre
Private Sub rafraichissement_Timer()

    datedujour.Caption = "La date du jour est : " + CStr(Date)
    heureactuelle.Caption = "Il est exactement : " + CStr(Time)
    
End Sub

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.