J'ai développé ces deux petit script, suite à une demande de ma famille, afin qu'il puisse définir un quota d'heure.
Ceux-ci sont mes premiers avec AutoIt. (formidable outil au passage)
Celui ci est pour programmer l'extinction:
Code : Tout sélectionner
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=..\..\..\Downloads\horloge-icone-9663.ico
#AutoIt3Wrapper_Outfile=Programmer l'extinction.exe
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Res_LegalCopyright=ca13x_
#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs
; Version AutoIt : 3.4.1
; Langue : Français
; Plateforme : Windows XP/7/8
; Auteur : ca13x_
;
; Fonction du script : Programmer l'extinction de l', avec accès protégé.
;
; Version 1.0 : 06/2014
#ce
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
; Protection du lancement par mot de passe
Do
$pass = "brest"
$input = InputBox("Arrêt du PC", "Entrez le mot de passe :")
If ($input <> $pass) Then
MsgBox(0,"Arrêt du PC", "Mauvais mot de passe !")
Else
MsgBox(0,"Arrêt du PC", "Le mot de passe est correct !")
EndIf
; fenêtre avec demande du delai en minutes
$box = GUICreate("Compte à rebours avant extinction", 578, 138, 219, 218)
GUISetBkColor(0x3B99FE)
$Label1 = GUICtrlCreateLabel("Entrez en minutes le temps avant l'extinction du PC, puis cliquez sur OK.", 16, 30, 543, 27, $SS_CENTER)
GUICtrlSetFont(-1, 12, 400, 0, "Comic Sans MS")
GUICtrlSetColor(-1, 0xFFFFFF)
$minutes = GUICtrlCreateInput("", 200, 88, 33, 27, BitOR($ES_CENTER,$ES_NUMBER))
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
GUICtrlSetColor(-1, 0x3B99FE)
$OK = GUICtrlCreateButton("OK", 320, 88, 57, 25, $WS_GROUP)
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
GUISetState(@SW_SHOW, $box)
;creation de la commande shutdown
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $minutes
If $minutes >= 1 Then
$min = GUICtrlRead($minutes)
$min *= 60
Run(@ComSpec & " /c shutdown -s -t " & $min, "", @SW_HIDE)
GUISetState(@SW_HIDE, $box)
Sleep(1000)
ElseIf $minutes = "" Then
MsgBox(0, "Alerte !", "Veuillez entrer un chiffre.")
EndIf
If WinWaitActive("Arrêt du système") Then
WinSetState("Arrêt du système", "", @SW_HIDE)
EndIf
EndSwitch
WEnd
Until ($input = $pass)
Code : Tout sélectionner
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=..\..\..\Downloads\feu-vert--icone-5166.ico
#AutoIt3Wrapper_Outfile=Annuler l'Extinction.exe
#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs
; Version AutoIt : 3.4.1
; Langue : Français
; Plateforme : Windows XP/7/8
; Auteur : ca13x_
;
; Fonction du script : annuler extinction
;
; Version 1.0 : 06/2014
#ce
Do
$pass = "brest"
$input = InputBox("Annuler l'Extinction", "Entrez le mot de passe :")
If ($input <> $pass) Then
MsgBox(0,"Annuler l'Extinction", "Mauvais mot de passe !")
Else
MsgBox(0,"Annuler l'Extinction", "Le mot de passe est correct !")
Run(@ComSpec & " /c shutdown -a ", "", @SW_HIDE)
MsgBox(64, "Confirmation", "L'Arrêt Programmé de votre PC est annulé")
EndIf
Until ($input = $pass)
1-Le problème c'est que le script est compilé avec le mot de passe [brest], et je ne sais pas comment crée une fenêtre qui demanderais de saisir le mot de passe choisis au premier lancement, puis enregistre sa dans un fichier .conf, avez vous une idée ?
2- Et je souhaitais désactiver la fonction "pause script/quitter" qui s'affiche à côté de l'horloge, mais pareille je bloque.
Merci de vos retours !