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
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.