[R] Ignore les Fonctions

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
playmobil
Niveau 1
Niveau 1
Messages : 6
Enregistré le : dim. 13 nov. 2011 17:48
Status : Hors ligne

[R] Ignore les Fonctions

#1

Message par playmobil »

bonsoir, débutant complétement dans AutoIt et avec le sentiment d'avoir découvert une perle, je fait appel a vous pour me débloquer.
je suis en plein décorticage de tuts et mon premier semble une vraie galere.
le code suivant devrais me lancer notepad et ecrire en auto "bonjour...".
Mais voilà quand je fait exécuter notepad se lance bien mais s’arrête au niveau de "ControlSend" alors voilà! j'ai essayé aussi avec d'autres telles que "controlclick" (super pratique avec windows Info) mais rien de rien. Faut t'il les déclarer auparavant? y a t'il une configuration spéciale?.
Merci pour votre aide.
playmobil

Code : Tout sélectionner

; Début du script - Ajouter votre code ci-dessous.
Run ("notepad.exe")
sleep(250)
ControlSend("[CLASS:Notepad]", "", "Edit1", "Bonjour les amis du zero !!")
Modifié en dernier par playmobil le mar. 15 nov. 2011 19:32, modifié 1 fois.
bob
Niveau 3
Niveau 3
Messages : 41
Enregistré le : ven. 16 oct. 2009 23:23
Status : Hors ligne

Re: [..] Ignore les Fonctions

#2

Message par bob »

Je viens d'essayer ces quelques lignes et cela fonctionne ici.( OK pour l'ouverture de Notepad et l'affichage de la phrase - sans les points d'exclamation... ).
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Ignore les Fonctions

#3

Message par blacksoul305 »

Salut, pour le problème de tes points d'exclamation, rends-toi sur l'aide d'Autoit pour la commande "Send". En effet, le "!" pour cette commande veut dire "Appuyer sur ALT". Pour mettre des points d'exclamation donc, il te faudra mettre {!} !

Send("Allez, à plus {!}")
Étudiant en 2ème année de Licence Informatique.
playmobil
Niveau 1
Niveau 1
Messages : 6
Enregistré le : dim. 13 nov. 2011 17:48
Status : Hors ligne

Re: [..] Ignore les Fonctions

#4

Message par playmobil »

merci pour votre réactivité, mais il refuse décidément de valider ou de cliquer sur la moindre fenêtre.
je suis sous XP SP3 y a t'il une incompatibilité quelconque?, une autorisation a paramétrer? c'est dommage de buter là dessus je sens qu'il en a sous le pied ce soft!
Le but final étant de reconfigurer un PC sur lequel j'ai changé carte mère et processeur sans réinstaller Windows :mrgreen: :mrgreen: coreI3 ->P4. j'ai évité l'écran bleu mais tout est en rideau, il faut atteindre la BdR et tout reconfigurer car je n'ai plus de clavier ni de souris.(trop sympa le chalenge!!) mais pour cela il faut que je puisse valider mes fenêtres sur un PC sain.
playmobil
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Ignore les Fonctions

#5

Message par Tlem »

Le Bloc-notes tout comme beaucoup d'applications qui seraient en premier plan, n'ont aucunement besoin d'un ControlSend.
Un simple Send suffit largement (voir ici).
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é".
playmobil
Niveau 1
Niveau 1
Messages : 6
Enregistré le : dim. 13 nov. 2011 17:48
Status : Hors ligne

Re: [..] Ignore les Fonctions

#6

Message par playmobil »

merci thierry le send envoie bien ma séquence mais dans l'exemple donné le "WinClose" ne fonctionne pas non plus, j'ai le sentiment que toute intervention sur une fenêtre est tout simplement ignoré, bizarre! bizarre!
Donc pour l'instant WinClose,ControlClick,ControlCommand ne marche pas et en parcourant le forum je ne trouve pas de problème similaire.Demain j'essaie sur un autre Pc pour en avoir le coeur net!
bonne soirée
playmobil
bob
Niveau 3
Niveau 3
Messages : 41
Enregistré le : ven. 16 oct. 2009 23:23
Status : Hors ligne

Re: [..] Ignore les Fonctions

#7

Message par bob »

En copiant le script du tutoriel cité par Tlem, cela n'ouvre que Notepad :

Run("notepad.exe")
WinWaitActive("Sans titre - Bloc-notes")
Send("This is some text.")
WinClose("Sans titre - Bloc-notes")
WinWaitActive("Bloc-notes", "Voulez-vous enregistrer les modifications")
Send("!n")

En suivant l'aide du Tuto et en utilisant "Autoit v3 Window Info", il suffit de copier le titre exact "Sans titre - Bloc-Notes" qui s'affiche et de remplacer ce titre dans le script.
Il y a une différence au niveau des 2 titres (voir les caractères cachés avec Word ) : marques d'espace,... (?) DIFFERENTS. Il faut donc bien utiliser "Autoit v3 Window Info" pour avoir le nom exact de la fenêtre.
Cela est sans doute du au "Copier/Coller" ?
NB : Le "petit rond" semble correspondre à un espace insécable de Word, mais en le copiant -collant dans le script, cela ne fonctionne pas.
Fichiers joints
caractèrescachés.jpg
caractèrescachés.jpg (12.17 Kio) Vu 1649 fois
playmobil
Niveau 1
Niveau 1
Messages : 6
Enregistré le : dim. 13 nov. 2011 17:48
Status : Hors ligne

[R] Ignore les Fonctions

#8

Message par playmobil »

Heureusement que Bob m'a alerté concernant la syntaxe, car effectivement le NotePad ouvert tout fraichement est accessible avec un nom de fenêtre tel que "sans titre - notepad", mais dés la première modification elle prend un nom différent " * sans titre - notepad".
Voici mon code fonctionnelle

Code : Tout sélectionner

Run("notepad.exe")
WinWaitActive("Sans titre - Notepad")
Send("This is some text.")
WinClose("* Sans titre - Notepad")
WinWaitActive("Notepad")
Send("!N")
 
Mais alors comment peut fonctionner l'exemple du tut? apparemment cela a l'air de tourner chez vous!
Dans tous les cas une porte s'ouvre et je fonce!!
merci a tous, Bon app!
playmobil :D
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Ignore les Fonctions

#9

Message par mikell »

Je sré toi je passerais par un WinGetHandle, plus précis
l'aide a écrit :Once you have obtained the handle you can access the required window even if its title changes.
ou alors un Opt("WinTitleMatchMode", -2) qui donne de la souplesse aux titres

Code : Tout sélectionner

Opt("WinTitleMatchMode", -2)
Run("notepad.exe")
WinWaitActive("notepad")
$handle = WinGetHandle("notepad")
WinClose($handle)
Image
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Ignore les Fonctions

#10

Message par sylvanie »

@playmobil : si vous estimez que le post est résolu, il faut mettre le [R] en éditant le 1er post pour qu'il y ai répercussion sur le message entier. Merci
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
bob
Niveau 3
Niveau 3
Messages : 41
Enregistré le : ven. 16 oct. 2009 23:23
Status : Hors ligne

Re: [..] Ignore les Fonctions

#11

Message par bob »

Pour fermer le bloc-notes, les instructions ont changé : Send("!r")
comme le montre Autoit windows info :
&Enregistrer
Ne pas en&registrer
Annuler

Pour que le script fonctionne, j'ai du aussi enlever 1 ligne car le script reste bloqué à Send("!r")

; WinWaitActive("Bloc-notes", "Voulez-vous enregistrer les modifications") qui pourrait être remplacé par sleep(???) pour que l'on ait le temps de voir que cela fonctionne,
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Ignore les Fonctions

#12

Message par Tlem »

playmobil a écrit :mais dés la première modification elle prend un nom différent " * sans titre - notepad".
:shock:
Je n'ai pas ce comportement sur mon XP SP3, mon Seven 32 Starter Edition, ou le Seven 64 Pro du PC de mon collègue sur lequel je vient de tester à l'instant.
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é".
bob
Niveau 3
Niveau 3
Messages : 41
Enregistré le : ven. 16 oct. 2009 23:23
Status : Hors ligne

Re: [R] Ignore les Fonctions

#13

Message par bob »

Pareil ici : pas changement de nom.
playmobil
Niveau 1
Niveau 1
Messages : 6
Enregistré le : dim. 13 nov. 2011 17:48
Status : Hors ligne

Re: [R] Ignore les Fonctions

#14

Message par playmobil »

Je trouve curieux le comportement aléatoire d'une machine a l'autre, alors effectivement chacun fini par trouver une soluce a son problème mais question portabilité c'est pas gagné...
je vais ma pencher sur "WinGetHandle" pour être moins tributaire d'une syntaxe.
quelle merveille ce "AutoIt" je suis tombé dessus par hasard mais ai vraiment envie de l'utiliser, d'autant que je sens qu'il va bien me servir pour automatiser certaines taches sur Mapinfo et des requêtes...
playmobil
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Ignore les Fonctions

#15

Message par Tlem »

La deuxième solution de mikell me parait plus simple à mettre en œuvre. :mrgreen:

Ceci-dit, le handle de la fenêtre sera unique et donc certainement plus fiable.
Mais comme vous automatisez une tache d’écriture dans le bloc-notes, en dehors de ce que vous avez relevé, il ne devrait pas y avoir de grand changement dans le titre, donc on en revient à la deuxième solution de mikell. :roll:

Par contre, il serait intéressent de comprendre pourquoi vous avez cette modification de titre, car vous n'êtes probablement pas le seul et unique à qui cela risque d'arriver.
Avez-vous rajouté des choses ?
Quel est votre OS et quelle version ?
Utilisez-vous des softs résidents susceptible de provoquer cette modification ?
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é".
playmobil
Niveau 1
Niveau 1
Messages : 6
Enregistré le : dim. 13 nov. 2011 17:48
Status : Hors ligne

Re: [R] Ignore les Fonctions

#16

Message par playmobil »

Bonjour! j'en profite qu'il fasse 0° dehors pour faire mon "Méa Culpa" et apporter la solution a ces problemes de syntaxe.En fait je fait mes bidouilles sur un PC dédié qu'a ça! et il s’avère que loin d'en être fier je suis sur une version "Rock&Roll" de Windows XP "Sp3 UE Mad Dog" et le notepad en fait! bien que très ressemblant n'est pas le même que celui que Bill fournit avec un Pack acheté.
Donc ceci me servira de leçon! au moins si le problème se déclare sur une machine en essayant des bidouilles sur le Notepad on saura pourquoi!
playmobil
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Ignore les Fonctions

#17

Message par jchd »

Pour votre pénitence, mon fils vous nous ferez 3 UDFs, 5 traductions et un don.

Allez en paix, mais pour l'amour du Ciel, cessez de bidouiller :P
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Ignore les Fonctions

#18

Message par mikell »

playmobil a écrit : le notepad en fait bien que très ressemblant n'est pas le même que celui que Bill fournit avec un Pack acheté.
Voui mais quel que soit le niveau d'infamie de la bidouille, le WinGetHandle marchera infailliblement :P
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre