Bonjour,
Voici le détail de la fenêtre :
>>>> Window <<<<
Title: mon titre
Class: TFormMenuMain
Position: 1672, -8
Size: 1696, 1066
Style: 0x17CF0000
ExStyle: 0x00050100
Handle: 0x00010502
J'ai donc essayé ça :
Code : Tout sélectionner
WinActivate("mon titre")
If ControlCommand("[CLASS:TFormMenuMain]", "", "[CLASS:TElCheckBox; INSTANCE:1]", "IsChecked", "") Then
MsgBox(1, "Status", "Coché")
Else
MsgBox(0, "Status", "Pas Coché")
EndIf
Le résultat est toujours le même : Pas coché
Code : Tout sélectionner
WinActivate("mon titre")
If ControlCommand("mon titre", "", "[CLASS:TElCheckBox; INSTANCE:1]", "IsChecked", "") Then
MsgBox(1, "Status", "Coché")
Else
MsgBox(0, "Status", "Pas Coché")
EndIf
Le résultat est toujours le même : Pas coché
Et enfin, avec le handle :
Code : Tout sélectionner
WinActivate("mon titre")
$Handle = WinGetHandle("mon titre")
If ControlCommand($Handle, "", "[CLASS:TElCheckBox; INSTANCE:1]", "IsChecked", "") Then
MsgBox(1, "Status", "Coché")
Else
MsgBox(0, "Status", "Pas Coché")
EndIf
Le résultat est toujours le même : Pas coché
Une solution peut être possible, détecter s'il y a du pixel noir dans le checkbox, pas très propre, mais si ça peut faire le boulot
Edit :
La solution avec la couleur du pixel :
► Afficher le texteSolution du pixel
Code : Tout sélectionner
Opt("PixelCoordMode", 2) ;1=absolute, 0=relative, 2=client
Local $taille = ControlGetPos($class, "", $className)
Local $color = PixelGetColor($taille[0] + 7, $taille[1] + 8) ;couleur en decimal
$color = Hex($color, 6) ;couleur en hexa
If $color = "000000" Then ;si le pixel est noir alors c'est coché
return 1
Else
return 0
EndIf
Bon ça marche, mais c'est quand même surprenant que le
ControlCommand lui ne fonctionne pas.
Si vous avez une solution plus propre je suis preneur, sinon je mettrai le topic résolu en fin de semaine, merci.