Bonjour, j'aurais besoin d'aide je fait un script qui appuis sur le bouton d'un certain programme
ce que je veux faire c'est attendre que le boutton est un certain style avant de clické dessus est-ce possible?
le style du bouton quand il n'est pas "clickable" c'est: 0x5801000B
il faudrait attendre que le bouton est le style: 0x5001000B avant de clické
[R] Control Style
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Control Style
Modifié en dernier par powerfear le ven. 12 juin 2009 15:56, modifié 2 fois.
Re: [..] Control Style
Je pense avoir la solution :
Il suffit de faire un jeu de If ou de Case tu dit que lorsque le boutton n'as pas été cliké alors Guictrlsetbkcolor (hex etc..) sinon GUIctrlsetBkcolor (Hex etc...)
J'espere mettre fait comprendre
Il suffit de faire un jeu de If ou de Case tu dit que lorsque le boutton n'as pas été cliké alors Guictrlsetbkcolor (hex etc..) sinon GUIctrlsetBkcolor (Hex etc...)
J'espere mettre fait comprendre
- Tlem
- Site Admin

- Messages : 11798
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Control Style
Utilisez AutoIt Windows Info afin de récupérer des éléments sur votre contrôle.
Trouver une solution pour récupérer le handle de votre bouton.
Ensuite utilisez la fonction GUIGetStyle pour voir son style.
Trouver une solution pour récupérer le handle de votre bouton.
Ensuite utilisez la fonction GUIGetStyle pour voir son style.
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é".
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é".
Re: [..] Control Style
D'accord merci Tlem j'ai ceci comme script pour l'instant mais sa ne marche pas...
J'ai remplacé les nom de programme par des ... pusiqu'il ne sont pas imporant pour comprendre le script
edit: jai fait des test avec des MsgBox et c'est au niveaux de $wbutton=GUIGetStyle($bhandle) que sa ne marche pas il ne donne pas le bon style, il donne 0... je vai allé voir dans le doc comment GUIGetStyle fonctionne...
edit2: bon jai trouvé qu'il faut que j'utilise $wbutton=GUIGetStyle($bhandle[0]) mais dans ce cas dans le debuger de scite (dans le bas) il apparait: path du script...... : ==> Subscript used with non-Array variable.:
MsgBox(1,"",$wbutton[0])
MsgBox(1,"",$wbutton^ ERROR
je crois qu'il faut un handle qui specifie le procesus du programme en question peut-étre, ou peut-étre que GuiGetStyle marche seulement avec le scirpt lui meme et non un programme externe...
Code : Tout sélectionner
ShellExecute("...")
Sleep("5000")
While 1=1
$bhandle=ControlGetHandle("...","","Button1")
$wbutton=GUIGetStyle($bhandle)
If $wbutton="0x5801000B" Then
ControlClick("...","","Button1")
ExitLoop
EndIf
WEndedit: jai fait des test avec des MsgBox et c'est au niveaux de $wbutton=GUIGetStyle($bhandle) que sa ne marche pas il ne donne pas le bon style, il donne 0... je vai allé voir dans le doc comment GUIGetStyle fonctionne...
edit2: bon jai trouvé qu'il faut que j'utilise $wbutton=GUIGetStyle($bhandle[0]) mais dans ce cas dans le debuger de scite (dans le bas) il apparait: path du script...... : ==> Subscript used with non-Array variable.:
MsgBox(1,"",$wbutton[0])
MsgBox(1,"",$wbutton^ ERROR
je crois qu'il faut un handle qui specifie le procesus du programme en question peut-étre, ou peut-étre que GuiGetStyle marche seulement avec le scirpt lui meme et non un programme externe...
Modifié en dernier par Tlem le ven. 12 juin 2009 07:31, modifié 1 fois.
Raison : Suppression balise Autoit (réservée à d'autres forum)
Raison : Suppression balise Autoit (réservée à d'autres forum)
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [..] Control Style
GUIGetStyle
--------------------------------------------------------------------------------
Retrieves the styles of a GUI window.
(Tiré de l'aide)
Guigetstyle n'est donc pas une fonction servant à récupérer le style d'un bouton...
Peut-être
GUICtrlGetHandle
--------------------------------------------------------------------------------
Returns the handle for a control and some special (item) handles (Menu, ContextMenu, TreeViewItem).
serait plus adapté. (Je ne l'ai pas testé, mais en lisant la définition, cela semble être possiblement la bonne fonction à utiliser)
--------------------------------------------------------------------------------
Retrieves the styles of a GUI window.
(Tiré de l'aide)
Guigetstyle n'est donc pas une fonction servant à récupérer le style d'un bouton...
Peut-être
GUICtrlGetHandle
--------------------------------------------------------------------------------
Returns the handle for a control and some special (item) handles (Menu, ContextMenu, TreeViewItem).
serait plus adapté. (Je ne l'ai pas testé, mais en lisant la définition, cela semble être possiblement la bonne fonction à utiliser)
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: [..] Control Style
J'ai fait un test avec le code ci-dessous avec le bouton "Ok" de la fenêtre "A propos" du bloc-notes, et ça marche. (J'ai utilisé Winspy++ pour pouvoir griser simplement le bouton "Ok".)
Code : Tout sélectionner
#include <WinAPI.au3>
#include <Constants.au3>
#include <WindowsConstants.au3>
$bhandle = ControlGetHandle("À propos de Bloc-notes", "", "Button1") ; "A propos" du Bloc-notes
$style = _WinAPI_GetWindowLong($bhandle, $GWL_STYLE)
If BitAND($style, $WS_DISABLED) Then MsgBox(0, "", "Bouton désactivé")De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Re: [..] Control Style
Merci sa la marché de cette facon ^^orax a écrit :J'ai fait un test avec le code ci-dessous avec le bouton "Ok" de la fenêtre "A propos" du bloc-notes, et ça marche. (J'ai utilisé Winspy++ pour pouvoir griser simplement le bouton "Ok".)Code : Tout sélectionner
#include <WinAPI.au3> #include <Constants.au3> #include <WindowsConstants.au3> $bhandle = ControlGetHandle("À propos de Bloc-notes", "", "Button1") ; "A propos" du Bloc-notes $style = _WinAPI_GetWindowLong($bhandle, $GWL_STYLE) If BitAND($style, $WS_DISABLED) Then MsgBox(0, "", "Bouton désactivé")


