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 e vous remercie d'avance pour vos idées et conseils
Modifié en dernier par jcaspar le mer. 27 juin 2012 15:09, modifié 1 fois.
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
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
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.
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 .. .
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 ?
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
M 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 ...
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
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 :
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
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.