[EX] Contrôle Extinction du PC

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
ca13x
Niveau 1
Niveau 1
Messages : 3
Enregistré le : jeu. 19 juin 2014 22:52
Status : Hors ligne

[EX] Contrôle Extinction du PC

#1

Message par ca13x »

Bonjour à tous,

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)
Celui ci pour annuler l'extinction:

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)
 
J'ai crée un installateur qui copie les 2 script (en .exe) dans le repertoire C:\ProgramData\Microsoft\Windows\Start Menu\Programs afin que l'utilisateur puisse les executer à la demande.

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 !
Fichiers joints
control_child.zip
Scripts
(1.87 Kio) Téléchargé 264 fois
Modifié en dernier par ca13x le jeu. 19 juin 2014 23:37, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [EX] Contrôle Extinction du PC

#2

Message par Tlem »

Bonsoir.
Pas d'exécutable dans les pièces jointes (même compressées).
Merci d'avance.

Pour le menu pause, rajoutez : #NoTrayIcon
Pour la boite de dialogue, cherchez dans la documentation la fonction InputBox().
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ca13x
Niveau 1
Niveau 1
Messages : 3
Enregistré le : jeu. 19 juin 2014 22:52
Status : Hors ligne

Re: [EX] Contrôle Extinction du PC

#3

Message par ca13x »

Tlem a écrit :Bonsoir.
Pas d'exécutable dans les pièces jointes (même compressées).
Merci d'avance.
Bonsoir,

C'est modifié :)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [EX] Contrôle Extinction du PC

#4

Message par Tlem »

Merci.

Voici un modèle assez complet de ce que vous cherchez à faire :
► Afficher le texte
Il y a quelques contrôles, mais aussi le cryptage du mot de passe. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ca13x
Niveau 1
Niveau 1
Messages : 3
Enregistré le : jeu. 19 juin 2014 22:52
Status : Hors ligne

Re: [EX] Contrôle Extinction du PC

#5

Message par ca13x »

Merci pour votre retour, cela m'a permis de voir comment crypter le mot de passe et surtout découvrir la commande Inniread InniWrite.

L'idée est la suivante j'ai pu avance un peu grâce à vous mais je reste bloquer sur quelques points:

1: Au lancement si le fichier .conf existe alors demande du mot de passe, et verification par rapport à l'entrée du .conf si ok on rentre sinon on redemande le mot de passe
2: si le fichier n'existe pas alors demande de création d'un mot de passe qui sera enregistré dans le .conf

j'ai bien essayé $readpass <> $inputmdp mais celà ne passe pas, comment récupere ton la valeur entrée dans une inputbox ?
et a contrario comment enregistre t'on la valeur d'une inputbox dans un .conf

Merci de votre aide
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [EX] Contrôle Extinction du PC

#6

Message par Tlem »

Bonjour.
J'ai édité mon script précédent en fonction de votre demande.

Bonne lecture. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre