[..] Checkbox Shutdown distant et local

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
XeniOne
Niveau 2
Niveau 2
Messages : 19
Enregistré le : mar. 27 sept. 2011 07:56
Status : Hors ligne

[..] Checkbox Shutdown distant et local

#1

Message par XeniOne »

Bonjour, je développe en ce moment une sorte de panel qui reste sur la gauche de l'écran pour moi et mes collègues, et je bloque sur des checkbox (jamais utilisé avant dans le script), voilà le principe:
J'ai une Inputbox ($input1) avec le nom du PC client.
J'ai un bouton shutdown (éteindre), et deux checkboxs juste à coté:
-PC distant
-PC local
J'aimerais qu'en cochant l'une ou l'autre checkbox ça exécute l'action appropriée.

Code : Tout sélectionner

;-------------------------------------------------------------------------------------------------------------------------------
            ;-------------------------------------Bouton Eteindre---------------------------------------------------------------------------
            ;-------------------------------------------------------------------------------------------------------------------------------

while 1

    Select

        Case $msg = $Button25


        ;-------------------Distant-------------------------
                            If GUICtrlGetState($Check1) =1 And Ping($rinput) = 0 Then
                            MsgBox(64, "Information", "Impossible de joindre l'hôte " & $rinput)

                            ElseIf GUICtrlGetState($Check1) = 1 And Ping($rinput) = 1 Then
                                Run(@ComSpec & ' /c shutdown -f -s -m \\' & $rinput & ' -c ' & $Input3, @SystemDir, @SW_HIDE)
                                MsgBox(0, "Extinction du système distant", "Le système distant va s'éteindre")

                            ElseIf GUICtrlGetState($Check2) = 1 Then
                                Run(@ComSpec & "/c shutdown -s -t 30")
ExitLoop
EndIf

EndSelect
WEnd
Avec ce code, le script ne va pas plus loin que le premier Msgbox (même lorsqu'un PC distant allumé est inscrit dans l'Input1), même en Checkbox PC Local; J'ai essayé je ne sais combien de solutions et toute aboutissent au même résultat: le script ne dépasse pas la première vérification même si celle-ci est fausse.
MERCI, je m'en remet à vous car je n'ai plus d'idées...
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Checkbox Shutdown distant et local

#2

Message par mikell »

Essaie

Code : Tout sélectionner

 If BitAND(GUICtrlRead($Check1), $GUI_CHECKED) = $GUI_CHECKED Then
    If Ping($rinput) = 0 Then
        MsgBox(64, "Information", "Impossible de joindre l'hôte " & $rinput)
    Else
        Run(@ComSpec & ' /c shutdown -f -s -m \\' & $rinput & ' -c ' & $Input3, @SystemDir, @SW_HIDE)
        MsgBox(0, "Extinction du système distant", "Le système distant va s'éteindre")
    EndIf
EndIf
If BitAND(GUICtrlRead($Check2), $GUI_CHECKED) = $GUI_CHECKED Then
    Run(@ComSpec & "/c shutdown -s -t 30")
EndIf
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
XeniOne
Niveau 2
Niveau 2
Messages : 19
Enregistré le : mar. 27 sept. 2011 07:56
Status : Hors ligne

Re: [..] Checkbox Shutdown distant et local

#3

Message par XeniOne »

Merci de ta réponse mikell, mais ca ne fonctionne toujours pas :?

C'est quoi l'utilité de "BitAnd" ?
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Checkbox Shutdown distant et local

#4

Message par zeshrek »

Lis l'aide sur GUICtrlRead() et BitAnd() !
Une checkbox peut avoir simultanément plusieurs états (checkée ou pas, avec ou sans focus, activé ou non...)
Chaque état correspondant a un bit a 1 ou 0
Je te laisse déduire ensuite a quoi sert le BitAnd
Si vis pacem para bellum
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Checkbox Shutdown distant et local

#5

Message par mikell »

Fais un debug progressif en intercalant dans le script des msgbox ou des consolewrite, pour savoir précisément où ça merdoie
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre