Page 1 sur 1

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

Posté : mer. 26 mars 2008 10:55
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)

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

Posté : mer. 26 mars 2008 10:59
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.

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

Posté : mer. 26 mars 2008 13:12
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+

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

Posté : mer. 26 mars 2008 21:44
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. :?

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

Posté : jeu. 27 mars 2008 10:33
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... :)

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

Posté : mar. 01 avr. 2008 22:40
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 ;)