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

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

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

#1

Message par jpascal » jeu. 06 juin 2019 13:18

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 11:23, modifié 1 fois.
AutoIt 3.3.15.1 / SciTE 4.1.0 / Windows 7 & 10 x64

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

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

#2

Message par Tlem » jeu. 06 juin 2019 22:29

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 5
Niveau 5
Messages : 105
Enregistré le : jeu. 16 oct. 2008 15:21
Status : Hors ligne

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

#3

Message par jpascal » ven. 07 juin 2019 11:22

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.15.1 / SciTE 4.1.0 / Windows 7 & 10 x64

Répondre