[R] Bouton à cliquer

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
neii
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 17 avr. 2008 14:35
Status : Hors ligne

[R] Bouton à cliquer

#1

Message par neii »

Bonjour,

Je n'arrete pas de chercher tout ce que je peux depuis des heures, mais sans trouver...

Sur la fenetre de gestion de l'alimentation,
Je voudrais simuler l'appuie sur le bouton "enregistrer sous...",

J'ai récupéré ceci avec AutoIt Window Info concernant le bouton :
Control ID : 1001
ClassNameNN : button2
Text : Enregi&strer sous...
Alors je code ceci :

Code : Tout sélectionner

$titre = "Propriétés de Options d'alimentation"
WinWait($titre)
WinActivate($titre)

ControlClick($Titre, "", "1001")
Ca ne le presse pas, j'ai essayé plein de combinaisons trouvées sur le forum, mais non plus...

Est-ce que quelqu'un pourrait m'avancer ? Merci d'avance
Modifié en dernier par neii le jeu. 17 avr. 2008 20:46, modifié 5 fois.
stephim
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 14 avr. 2008 18:24
Status : Hors ligne

Re: [..] Bouton à cliquer

#2

Message par stephim »

Salut,

J'aurai plutôt mis:

Code : Tout sélectionner

ControlClick($Titre, "", "Button2")
Stephim
Avatar du membre
neii
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 17 avr. 2008 14:35
Status : Hors ligne

Re: [R] Bouton à cliquer

#3

Message par neii »

Merci pour la réactivité,
Et c'est bon, ca marche :D

(il me semblait bien avoir tenté cette combinaison de paramètres)

Bonne suite ;)
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [R] Bouton à cliquer

#4

Message par arrkhan »

Malgre le fait que le topic soit resolu, je me permet de demander pourquoi ne pas passer directement par le registre, pour modifier l info qu il te faut plus que par la gui, ca te ferai je pense gagner de nombreuse ligne dans ton code, apres ce que j'en dit hein ^^
Avatar du membre
neii
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 17 avr. 2008 14:35
Status : Hors ligne

Re: [R] Bouton à cliquer

#5

Message par neii »

En fait, j'ai fait une petite "appli" (je l'ai fini) qui me permet : D'intégrer automatiquement deux nouveaux modes de gestion de manière automatique (supprimant ceux par défaut), ou de faire un backup des modes par défaut (avec du cmd dans autoit). Enfin, j'ai deux boutons qui me permettent de choisir à n'importe quel moment quel mode de gestion je souhaite être sous, à savoir que mon pc étant allumé 24/24 7/7, je change juste d'état quand je pars hors de chez moi, ou dodo, etc, ou inversement quand je reste en activité dessus :

Sur une petite interface (100*80) j'ai 4 boutons :

(mode) Actif : Rien ne s'éteint ni ne s'arrête ("jamais", "jamais", "jamais")
(mode) Inactif : L'écran et les DD s'arrêtent ("1mn", "3mn", "jamais")
Intégration : Créée les deux modes et supprime ceux par défaut
Backup : Backup des modes par défaut

Ai-je répondu à ta question ?
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [R] Bouton à cliquer

#6

Message par arrkhan »

Eh bien felicitation, met nous eventuellement ton code, si ca peut en inspirer certains ou meme si on peut t'aider a l ameliorer...
Avatar du membre
neii
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 17 avr. 2008 14:35
Status : Hors ligne

Re: [R] Bouton à cliquer

#7

Message par neii »

Oui, aucun souci (il y aura probablement à améliorer, je débute depuis hier).
Ici ? Ou peut-être dans la section "exemple de script" ?
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [R] Bouton à cliquer

#8

Message par arrkhan »

met le ici pour commencer.
Avatar du membre
neii
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 17 avr. 2008 14:35
Status : Hors ligne

Re: [R] Bouton à cliquer

#9

Message par neii »

Gestion de l'alimentation :
► Afficher le texte

Voilà, si il y a de l'amélioration à faire, ne pas hésiter à me le dire (penser à mon bas niveau quand même :lol: )
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [R] Bouton à cliquer

#10

Message par arrkhan »

bon premier script ^^

tu peux grandement le simplifier, en configurant les prereglages deja existant et tu en creer un autre:
Boulot : jamais, jamais, jamais
Dodo : 1min, 3min, jamais

pour creer Dodo ou Boulot, tu tape dans la console

Code : Tout sélectionner

powercfg /c "Le nom que tu veux"
puis tu change les parametre comme suis:

Code : Tout sélectionner

powercfg /x "Dodo" /monitor-timeout-ac 1 /disk-timeout-ac 3 /standby-timeout-ac 0 /hibernate-timeout-ac 0
ensuite tu peux faire appel au bon mode en utilisant la commande:

Code : Tout sélectionner

powercfg /s "Dodo"
voila deja pour supprimer les acces a la GUI windows, tu peux eventuellement aussi supprimer ta GUI et faire en sorte que ton appli ne soit que dans le systray (pres de l'horloge), un clique droit sur la petite icone et hop tu as acces aux menu, ou meme mieux un double click sur l'icone et ca change automatiquement le mode....

esperant avoir reussi a eveiller ta curiosité, je te souhaite un bon codage ^^'
Avatar du membre
neii
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 17 avr. 2008 14:35
Status : Hors ligne

Re: [R] Bouton à cliquer

#11

Message par neii »

Super, je ne connaissais pas du tout ces commandes pour powercfg !
En effet ca va simplifier un peu tout ca, je m'y remets du coup :P

Merci bien ;)
Avatar du membre
neii
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 17 avr. 2008 14:35
Status : Hors ligne

Re: [R] Bouton à cliquer

#12

Message par neii »

Voilà avec les modifications, c'est bien plus pratique comme ca, en effet ^^

Code : Tout sélectionner

#Include<GUIConstants.au3>

#NOTRAYICON

$gui = GUICreate("Gestion de l'alimentation", 100,80)
$btn1 = GUICtrlCreateButton ("ACTIVITE", 0,0,100,20)
$btn2 = GUICtrlCreateButton ("INACTIVITE", 0,20,100,20)
$btn3 = GUICtrlCreateButton ("Intégration", 0,40,100,20)
$btn4 = GUICtrlCreateButton ("Backup", 0,60,100,20)
GUISetState()

$titre = "Propriétés de Options d'alimentation"

Do
    $msg = GUIGetMsg()
    Select

        Case $msg = $btn1
            RunWait(@ComSpec & " /c " & "powercfg -s Actif", "", @SW_HIDE)

        Case $msg = $btn2
            RunWait(@ComSpec & " /c " & "powercfg -s Inactif", "", @SW_HIDE)

        Case $msg = $btn3 or $msg = $btn4
            RunWait(@ComSpec & " /c " & "powercfg RestoreDefaultPolicies", "", @SW_HIDE)
            RunWait(@ComSpec & " /c " & "powercfg -h off", "", @SW_HIDE)
            if $msg = $btn3 Then
                RunWait(@ComSpec & " /c " & "powercfg -c Inactif", "", @SW_HIDE)
                RunWait(@ComSpec & " /c " & "powercfg -x Inactif /monitor-timeout-ac 1 /disk-timeout-ac 3 /standby-timeout-ac 0", "", @SW_HIDE)
                RunWait(@ComSpec & " /c " & "powercfg -c Actif", "", @SW_HIDE)
                RunWait(@ComSpec & " /c " & "powercfg -x Actif /monitor-timeout-ac 0 /disk-timeout-ac 0 /standby-timeout-ac 0", "", @SW_HIDE)
                RunWait(@ComSpec & " /c " & "powercfg -s Actif", "", @SW_HIDE)
            Endif

        Case $msg = $GUI_EVENT_CLOSE
    EndSelect
Until $msg = $GUI_EVENT_CLOSE


J'aimerai pouvoir passer à la suite de ce que tu me disais qui m'interressais grandement :
tu peux eventuellement aussi supprimer ta GUI et faire en sorte que ton appli ne soit que dans le systray (pres de l'horloge), un clique droit sur la petite icone et hop tu as acces aux menu, ou meme mieux un double click sur l'icone et ca change automatiquement le mode....
Est-ce que tu pourrais m'aiguiller pour arriver à le faire comme ca ?
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Bouton à cliquer

#13

Message par ani »

Code : Tout sélectionner

#Include <GUIConstants.au3>
Opt("TrayMenuMode",1) ; on retire du systray la pause et exit qui sont par défault
#NOTRAYICON

$gui = TrayCreateMenu("Gestion de l'alimentation") ;GUICreate("Gestion de l'alimentation", 100,80)
$btn1 = TrayCreateItem("ACTIVITE",$gui) ;GUICtrlCreateButton ("ACTIVITE", 0,0,100,20)
$btn2 = TrayCreateItem("INACTIVITE",$gui) ;GUICtrlCreateButton ("INACTIVITE", 0,20,100,20)
$btn3 = TrayCreateItem("Intégration",$gui) ;GUICtrlCreateButton ("Intégration", 0,40,100,20)
$btn4 = TrayCreateItem("Backup",$gui) ;GUICtrlCreateButton ("Backup", 0,60,100,20)
TrayCreateItem("")
$btn5 = TrayCreateItem("Exit")
TraySetState() ;GUISetState()

while 1
    $msg = TrayGetMsg() ;$msg = GUIGetMsg()
    Select
        Case $msg = $btn1
            RunWait(@ComSpec & " /c " & "powercfg -s Actif", "", @SW_HIDE)
        Case $msg = $btn2
            RunWait(@ComSpec & " /c " & "powercfg -s Inactif", "", @SW_HIDE)

        Case $msg = $btn3 or $msg = $btn4
            RunWait(@ComSpec & " /c " & "powercfg RestoreDefaultPolicies", "", @SW_HIDE)
            RunWait(@ComSpec & " /c " & "powercfg -h off", "", @SW_HIDE)
            if $msg = $btn3 Then
                RunWait(@ComSpec & " /c " & "powercfg -c Inactif", "", @SW_HIDE)
                RunWait(@ComSpec & " /c " & "powercfg -x Inactif /monitor-timeout-ac 1 /disk-timeout-ac 3 /standby-timeout-ac 0", "", @SW_HIDE)
                RunWait(@ComSpec & " /c " & "powercfg -c Actif", "", @SW_HIDE)
                RunWait(@ComSpec & " /c " & "powercfg -x Actif /monitor-timeout-ac 0 /disk-timeout-ac 0 /standby-timeout-ac 0", "", @SW_HIDE)
                RunWait(@ComSpec & " /c " & "powercfg -s Actif", "", @SW_HIDE)
            Endif

     Case $msg = $btn5
            ExitLoop

    EndSelect
WEnd
Avatar du membre
neii
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 17 avr. 2008 14:35
Status : Hors ligne

Re: [R] Bouton à cliquer

#14

Message par neii »

Merci beaucoup à toi de te pencher sur la question Ani,

Cependant j'ai une erreur ~"unknown function ligne 5" quand je veux essayer tes modifs :s
(fonction TrayCreateMenu non reconnue ?)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Bouton à cliquer

#15

Message par ani »

Quel version d'autoit possédez-vous ?

Essayez en remplacant #Include <GUIConstants.au3> par #Include <Constants.au3>
Avatar du membre
neii
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 17 avr. 2008 14:35
Status : Hors ligne

Re: [R] Bouton à cliquer

#16

Message par neii »

Ma version d'AutoIt était la 3.1.1,
Avec la version 3.2.. Ca marche impec'

Merci !
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Bouton à cliquer

#17

Message par ani »

a wouai la 3.1.1 version dépassé
regardez dans l'aide si le traymenu existe,

Sinon je vous conseil de prendre la dernière version 3.2.10 du 25/11/2007
y pas mal de changement et bcp mieux
Greenhorn
Niveau 2
Niveau 2
Messages : 25
Enregistré le : sam. 19 avr. 2008 02:16
Status : Hors ligne

Re: [R] Bouton à cliquer

#18

Message par Greenhorn »

neii a écrit :Bonjour,

Je n'arrete pas de chercher tout ce que je peux depuis des heures, mais sans trouver...

Sur la fenetre de gestion de l'alimentation,
Je voudrais simuler l'appuie sur le bouton "enregistrer sous...",

J'ai récupéré ceci avec AutoIt Window Info concernant le bouton :
Control ID : 1001
ClassNameNN : button2
Text : Enregi&strer sous...
Alors je code ceci :

Code : Tout sélectionner

$titre = "Propriétés de Options d'alimentation"
WinWait($titre)
WinActivate($titre)

ControlClick($Titre, "", "1001")
Ca ne le presse pas, j'ai essayé plein de combinaisons trouvées sur le forum, mais non plus...

Est-ce que quelqu'un pourrait m'avancer ? Merci d'avance
Hi,

sorry, my french is not so good, so I will post in english ...

If you want to use the control ID in AutoIt, you must use numerics, no string.
So, your code must look like this ...

Code : Tout sélectionner

$titre = "Propriétés de Options d'alimentation"
WinWait($titre)
WinActivate($titre)
;~ ControlClick($Titre, "", "1001")

; write control ID as numeric, then it works ...
If ControlClick($Titre, "", 1001) Then
    MsgBox(266304, Default, '@error = ' & @error)
EndIf
 
I hope I could help a little.

Greetz
Greenhorn
Modifié en dernier par Greenhorn le sam. 19 avr. 2008 05:14, modifié 1 fois.
Avatar du membre
neii
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 17 avr. 2008 14:35
Status : Hors ligne

Re: [R] Bouton à cliquer

#19

Message par neii »

I've tried without them too (if i remember enough),
Even if the problem was solved by stephim, thx to you.
Répondre