Page 1 sur 1

[..] Valider si case cochée

Posté : jeu. 15 déc. 2011 14:39
par jcaspar
Bonjour à tous !
Je voudrais paramétrer automatiquement la configuration d'un pilote d'impression..
pour cela une case à cocher doit être décochée ... comment puis je vérifier
si une case est cochée ou non ? ( il s'agit d'une fenêtre windows )

J :mrgreen: e vous remercie d'avance pour vos idées et conseils

Re: [..] Valider si case cochée

Posté : jeu. 15 déc. 2011 14:55
par sylvanie
Il va falloir utilisez la fonction :
Controlcommand("Title","text","ControlId","Ischecked")
pour le titre et le texte, généralement ça va (on peut même mettre "" pour le texte, mais si vous y en mettez un ça peut éviter les problèmes de mauvaise sélection)
Après c'est l'identifiant du contrôle. Dans un premier temps utilisez Au3info. On peut identifier un contrôle par sa valeur ou sa classe d'identification. Après, cf aide au sujet de la fonction Controlcommand

Re: [..] Valider si case cochée

Posté : jeu. 15 déc. 2011 16:16
par zeshrek
L'autre solution consiste a savoir ou est stockée l'info correspondant a la case cochée (ou pas). Généralement ca se trouve dans la base de registre, donc il sufit de faire un regread pour s'assurer que la valeur est la bonne, et/ou de faire un regwrite pour forcer le cochage de la case.

Re: [..] Valider si case cochée

Posté : mar. 20 déc. 2011 17:50
par jcaspar
Merci beaucoup pour vos réponses !
Croyiez vous qu'il soit possible de dire à mon code
" si la case est cochée la décocher ? "
voici mon idée mais elle ne semble pas fonctionnelle .. :roll: .

Code : Tout sélectionner


 if  ControlCommand("[CLASS:#32770]", "","Utilisateur public", "ischecked", "") =1  then
     ControlCommand("[CLASS:#32770]", "","Utilisateur public", "uncheck", "")
 EndIf

 

Re: [..] Valider si case cochée

Posté : mar. 20 déc. 2011 18:05
par sylvanie
l'idée est là, par contre en ce sui concerne le contrôle, ça m'étonnerai que ce soit ça.
généralement on a quelque chose du genre identifiant numérique ou de classe (exple : [CLASS:Button; TEXT:Finish; INSTANCE:2], mais dans votre cas ce serait une checkbox)
n'auriez vous pas échangé le titre et le contrôle dans votre appel ?

Re: [..] Valider si case cochée

Posté : mar. 20 déc. 2011 19:15
par jcaspar

M :D erci pour vos suggestions !

Je viens de tester de la manière suivante ....mais cela est toujours incorrect ... je dois faire une erreur au niveau de la syntaxe ....
peut être avez vous une petite idée ? J'ai suivi la doc soit ->>titre, texte,id,command,option ...
:roll:

Code : Tout sélectionner


  WinWaitActive("Paramètres avancés du serveur")
  if  ControlCommand("Paramètres avancés du serveur","Utilisateur &public","[ID:999]", "ischecked" )=1 then
  ControlCommand("Paramètres avancés du serveur","Utilisateur &public","[ID:999]", "uncheck)
    EndIf
 

Re: [..] Valider si case cochée

Posté : mar. 20 déc. 2011 19:50
par sylvanie
On va tenter d'élargir la détection en supprimant le texte. dans un premier temps. Ensuite (en cas d'échec), essayez de mettre la valeur 999 directement :

Code : Tout sélectionner

 WinWaitActive("Paramètres avancés du serveur")
  if  ControlCommand("Paramètres avancés du serveur","",999, "ischecked" )=1 then
  ControlCommand("Paramètres avancés du serveur","",999, "uncheck)
    EndIf