[R] Différences entre Run() et ShellExecute()

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
jpascal
Niveau 6
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

[R] Différences entre Run() et ShellExecute()

#1

Message par jpascal »

Bonjour,

Je m'interroge sur l'utilité de la fonction ShellExecute() dans le cas d'un lancement de programme exécutable.
ShellExecute() prend en paramètres les options de l'exécutable mais on peut aussi les passer dans le premier paramètre de Run().

C'est peut être plus simple si l'on désire lancer un script Powershell avec des paramètres.
Par exemple ShellExecute('powershell.exe', ' script .ps1 -command1 "toto" -command2 "titi" ')
Mais on perd l'opt flag pour rediriger les flux consoles du coup je n'utilise que Run().

Merci d'avance pour vos commentaires, conseils et autres explications.
Modifié en dernier par jpascal le ven. 07 juin 2019 12:23, modifié 1 fois.
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Différences entre Run() et ShellExecute()

#2

Message par Tlem »

Bonsoir jpascal.
La différence principale entre Run et ShellExecute c'est qu'avec ShellExecute, vous pouvez aussi "lancer" un fichier .doc, un PDF, et de manière générale, tous fichier associé avec une application (en plus de ce que Run peux lancer). Autrement dit, si vous lancez un ShellExecute("MonFichier.doc"), Word ou tout traitement de texte associé sera lancé et le document ouvert dans celui-ci. De même, ShellExecute("Image.bmp") ouvrira Paint ou autre en affichant l'image, ShellExecute("MonFichier.pdf") ouvrira Edge ou Acrobat Reader, etc ...

Plus globalement, on utilisera Run pour lancer des programmes console (EXE, BAT, COM, ou PIF) dont on aurait éventuellement besoin de récupérer des retours (ce que ShellExecute ne peux pas faire).
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é".
jpascal
Niveau 6
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: [..] Différences entre Run() et ShellExecute()

#3

Message par jpascal »

Bonjour Thierry,

Merci pour votre réponse complète.
C'est exactement comme cela que j'utilise les fonctions ShellExecute() et Run(). ;-)
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Répondre