[R] Suspendre l'éxécution d'un script autre que AutoIt

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
MissTi
Niveau 2
Niveau 2
Messages : 19
Enregistré le : lun. 18 févr. 2008 16:31
Status : Hors ligne

[R] Suspendre l'éxécution d'un script autre que AutoIt

#1

Message par MissTi »

Bonjour à tous,
Pour automatiser une tâche, je dois développer un script dans le langage propriétaire du logiciel pour lequel je veux automatiser une tâche. La tâche à automatiser nécessitant aussi la manipulation d'un utilitaire de ce logiciel (dont les fonctions et dll sont inconnues), une partie doit être automatisée via AutoIt.
Le problème, c'est que lorsque mon script écrit dans le langage propriétaire (c'est du MapBasic) lance l'exe AutoIt, il n'attend pas la fin de son exécution pour continuer.
En gros, mon script écrit en MapBasic:
1/ ouvre tel fichier
2/ lance l'exe qui va utiliser le module non programmable (donc l'exe AutoIt)
3/ utilise les données (créées par le script AutoIt) pour faire ci et ça
4/ utilise les nouvelles données en lançant un autre exe AutoIt...

(je sais, ce n'est pas simple mais c'est la seule façon que j'ai trouvé pour automatiser cette #@¤ de méthodo... :evil: )

Le problème, c'est que le script MapBasic n'attend pas la fin de l'exécution de l'exe AutoIt, ce qui me génère de fausses données. Vu que je n'ai aucun moyen de mettre mon script MapBasic en pause, est-il possible de geler son exécution à partir de l'exe AutoIt?

Sinon, AutoIt intègre-t-il une fonction qui lance un programme et attend la fin de son exécution? (dans ce cas, j'inverserai la structure de mon code: développé en AutoIt et lançant des scripts MapBasic)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: Suspendre l'éxécution d'un script autre que AutoIt

#2

Message par ani »

MAPBASIC :o ,encore un langage inconnu pour ani, :(

sous autoit y a runwait et shellexecutewait qui attend la fin de la procédure.
Avatar du membre
moutelous
Niveau 6
Niveau 6
Messages : 229
Enregistré le : sam. 09 févr. 2008 19:51
Localisation : Rennes
Status : Hors ligne

Re: Suspendre l'éxécution d'un script autre que AutoIt

#3

Message par moutelous »

Bonjour,

Petite rélexion comme ça en passant ....

Pourquoi ne pas coder une fenêtre attendant une intervention de l'utilisateur dans le code MAPBASIC ce qui aurait pour effet de bloquer ce même code et de libérer cette même fenêtre par une action Autoit à la fin du script Autoit ?

A+
A+
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Suspendre l'éxécution d'un script autre que AutoIt

#4

Message par Tlem »

Si vous ne pouvez modifier le code de l'application en MapBasic, j'ai bien peur que vous soyez dans une impasse.

AutoIt ne peut intervenir dans l'exécution d'une autre application que si cette dernière le permet (Par une instruction, bouton ou autre pour faire une pause).
Sinon la seule chose qui reste, c'est la fermeture du processus mais là l'application est fermée complètement. :?
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é".
MissTi
Niveau 2
Niveau 2
Messages : 19
Enregistré le : lun. 18 févr. 2008 16:31
Status : Hors ligne

Re: [..] Suspendre l'éxécution d'un script autre que AutoIt

#5

Message par MissTi »

Je vais essayer de creuser la solution de faire une fenêtre qui montrera l'évolution du script.

Ca va être rock'n roll tout ça... :)
Firefox2
Niveau 2
Niveau 2
Messages : 23
Enregistré le : lun. 31 mars 2008 20:28
Status : Hors ligne

Re: [..] Suspendre l'éxécution d'un script autre que AutoIt

#6

Message par Firefox2 »

Au lieu de ça, on peut aussi suspendre le processus avec l'utilitaire en ligne de commande PsSuspend qui fait partie de la suite PsTools qui est très pratique...
A mon avis ça devrait convenir à cette situation ;)
Répondre