Etienne BAUDOUX

Forum sur les projets de Etienne BAUDOUX


[RESOLU] Comment exécuter un programme externe

Partagez

Clem120%
Nouveau
Nouveau

Masculin Nombre de messages : 4
Date d'inscription : 07/01/2010

[RESOLU] Comment exécuter un programme externe

Message par Clem120% le Jeu 7 Jan 2010 - 16:54

Bonjour,
je voudrais savoir comment exécuter un programme externe.
J'ai essayé avec la fonction exécuter une commande Shell mais softwarezator m'indique à la compilation que le .xml est manquant, j'ai tout réinstallé -> aucun changement. J'ai alors essayé de faire ça avec une commande Visual basic:
ça marche, aucun plantage mais rien ne se lance, quelle que soit l'application choisie.

Dim proc As New System.Diagnostics.Process()
proc.StartInfo.FileName = "WindowsApplication1.exe"
proc.StartInfo.Arguments = ""
proc.Start()
proc.Close()

(j'y connaît rien en visual basic).


Dernière édition par Admin le Ven 18 Juin 2010 - 14:56, édité 1 fois (Raison : sujet résolu)
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: [RESOLU] Comment exécuter un programme externe

Message par Admin le Jeu 7 Jan 2010 - 17:17

Bonjour,

En effet on a un problème avec l'action "exécuter une commande shell", et vive la prochaine mise à jour, lol !

En fait, vous devez donner le chemin complet du fichier à lancer :
si WindowsApplication1.exe se trouve dans le même dossier que l'application qui doit le lancer, alors il faut lui dire d'aller chercher le fichier "dans le dossier ou est exécuter l'application", et puisque ce dossier peut changer selon les ordinateurs, on utilise une commande spécial :

My.Application.StartupPath, soit :

Dim proc As New System.Diagnostics.Process()
proc.StartInfo.FileName = My.Application.StartupPath & "\WindowsApplication1.exe"
proc.StartInfo.Arguments = ""
proc.Start()

Note : il est possible que ça fonctionnait aussi sans, mais en VB.Net, la commande "proc.Close" arrête le processus amusé, c'est pour ça que dans tout les cas ça lançait votre programme et l'arrêtait immédiatement.

Voia



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware
avatar
xav2303
On s'intègre
On s'intègre

Masculin Nombre de messages : 197
Age : 22
Localisation : Antony 92160
Emploi/loisirs : .Net / Plugin
Humeur : One Again.
Date d'inscription : 26/01/2009

Re: [RESOLU] Comment exécuter un programme externe

Message par xav2303 le Jeu 7 Jan 2010 - 17:20

Bonjour.

Le xml est le fichier contenant le code visual basic à effectué.
Je ne l'ai pas non plus, peut être une erreur lors de la création de l'installeur...
Tu peux faire "Exécuter" une commande visual basic et mettre dedans :

Shell("LeCheminDeTonProgramme")

Si tu veux lancer un programme qui se situe dans le dossier "Dossier1" lui même placer dans le dossier source de ton application SZ, tu peux faire :

Shell("Application.StartupPath & "\Dossier1\MonApplication.exe")

Tu peux également lancé un "fichier" avec une application (exemple lancé un document word avec word , en séparant par un espace les 2 chemin tout simplement :

Shell("LeCheminDeWord LeCheminDeTonFichierWord")

Voilà ! Si tu as d'autre questions n'hésite pas

@+



Les mots magiques :
- Bonjour
- S'il vous plait
- Merci
-Au revoir

Sont des petits mots bien gentils qu'on oublie trop souvent !

Clem120%
Nouveau
Nouveau

Masculin Nombre de messages : 4
Date d'inscription : 07/01/2010

Re: [RESOLU] Comment exécuter un programme externe

Message par Clem120% le Jeu 7 Jan 2010 - 18:27

J'ai copié ce que tu m'as donné dans une commande visual basic et ça bug à la compilation alors qu'avec le code que j'avais trouver ça ne buggait pas.
Faut-il que je rajoute quelque chose ?
avatar
xav2303
On s'intègre
On s'intègre

Masculin Nombre de messages : 197
Age : 22
Localisation : Antony 92160
Emploi/loisirs : .Net / Plugin
Humeur : One Again.
Date d'inscription : 26/01/2009

Re: [RESOLU] Comment exécuter un programme externe

Message par xav2303 le Jeu 7 Jan 2010 - 18:34

Si tu parle de mon code, en effet dans les programmes que tu créer avec SZ, il n'y a pas les même références que dans Visual Studio.

Ton erreur doit être du style "Le nom Shell n'est pas déclarer" non ?

Remplace Shell par Microsoft.VisualBasic.Interaction.Shell("TonApplication")

Wink



Les mots magiques :
- Bonjour
- S'il vous plait
- Merci
-Au revoir

Sont des petits mots bien gentils qu'on oublie trop souvent !

Clem120%
Nouveau
Nouveau

Masculin Nombre de messages : 4
Date d'inscription : 07/01/2010

Re: [RESOLU] Comment exécuter un programme externe

Message par Clem120% le Jeu 7 Jan 2010 - 21:41

Je n'ai jamais codé en visual basic, je code que je vous ai donné provient d'internet, après 5 essais j'en ai trouvé un qui marche, c'est celui ci mais il ne fait rien, pourriez vous m'expliquer quoi marquer exactement car je ne comprends pas.

Clem120%
Nouveau
Nouveau

Masculin Nombre de messages : 4
Date d'inscription : 07/01/2010

Re: [RESOLU] Comment exécuter un programme externe

Message par Clem120% le Jeu 7 Jan 2010 - 22:09

finalement j'ai trouvé, il faut écrire: Microsoft.VisualBasic.Interaction.Shell("WindowsApplication1.exe")
Vous ne pourriez pas au moins mettre en ligne le xml "exécuter une commande windows" c'est un gros manque pour quiconque souhaite utiliser votre logiciel.
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: [RESOLU] Comment exécuter un programme externe

Message par Admin le Jeu 7 Jan 2010 - 22:11

Code:
Dim proc As New System.Diagnostics.Process()
proc.StartInfo.FileName = My.Application.StartupPath & "\WindowsApplication1.exe"
proc.StartInfo.Arguments = ""
proc.Start()

Ici, il va lancer le fichier "C:\Un dossier\Le Dossier D'Ou Est Lancé Votre Application\WindowsApplication1.exe"



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware
avatar
xav2303
On s'intègre
On s'intègre

Masculin Nombre de messages : 197
Age : 22
Localisation : Antony 92160
Emploi/loisirs : .Net / Plugin
Humeur : One Again.
Date d'inscription : 26/01/2009

Re: [RESOLU] Comment exécuter un programme externe

Message par xav2303 le Ven 8 Jan 2010 - 6:41

Je pourrait te donner les indication pour recréer rapidement le plugin si tu veux mais ne pouvant plus lancer certaines applications (Virus...) il faudra que je fasse quelque petite recherche avant.
Tu devra te contenter de ce que tu as trouver pour l'instant ! Razz

@+

Xavier



Les mots magiques :
- Bonjour
- S'il vous plait
- Merci
-Au revoir

Sont des petits mots bien gentils qu'on oublie trop souvent !

lerombasien
Nouveau
Nouveau

Masculin Nombre de messages : 17
Age : 73
Date d'inscription : 15/11/2009

lancer un programme externe sans attendre qu'il se termine

Message par lerombasien le Sam 9 Jan 2010 - 15:20

Bonjour

pour lancer un programme externe sans attendre que celui-ci se termine,

sous la rubrique "général"
choisir la fonction "executer des commandes visual basic.net"

dans la boite de dialogue qui s'ouvre mettre comme instruction

diagnostics.Process.Start("chemin complet du programme")

exemple, si je veux executer le jeu sokoban, je crée la commande

diagnostics.Process.Start("c:\program files\jeux\sokoban\sokoban.exe")

bon courage


lerombasien
Nouveau
Nouveau

Masculin Nombre de messages : 17
Age : 73
Date d'inscription : 15/11/2009

comment executer un proigramme externe

Message par lerombasien le Sam 9 Jan 2010 - 17:54

Bonjour

pour executer un programme externe une autre methode qui est proche de la précédente mais qui permet d'attendre que le programme se termine avant que softwarezator continue

dim monjeu as new diagnostics.Process
monjeu.Startinfo.filename="c:\program files\jeux\sokoban\sokoban.exe"
monjeu.start()
monjeu.waitforexit()

explications :

monjeu est un nom que vous fixez vous-même il doit être le même sur les 4 lignes
la premiére ligne crée une instance
la deuxième ligne decrit le programme à executer
la troisième ligne execute le programme
la quatrième demande d'attendre que le programme appelé se termine avant de continuer
si la quatrième ligne n'existe pas, softwarezator continue pendant que l'autre programme s'execute
si vous voulez que softwarezator attende un certain délai avant de reprendre son traitement mettre entre les parenthèses de la quatrième ligne le nombre de millisecondes a attendre

exemple : si je veux que sz attende 2 secondes avant de reprendre, la 4ème ligne sera alors

monjeu.waitforexit(2000)

si je veux ouvrir un fichier avec le programme qui lui est associé dans windows, je mets simplement le nom complet du fichier sur la 2ème ligne ce qui fait que, si je change l'association, mon programme sz n'aura pas besoin d'être modifié.

pour les intégrer dans une commande "executer une commande visual basic.net" copier les 4 lignes
et les coller dans la boite de dialogue puis changez les parametres

j'espère etre assez clair
avatar
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1875
Age : 25
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Etudiant à SUPINFO International University, stagiaire à Microsoft Corporation
Date d'inscription : 24/01/2008

Re: [RESOLU] Comment exécuter un programme externe

Message par Admin le Sam 9 Jan 2010 - 18:53

l'explication l'est en tout cas =), ça me rappel les tutoriaux sur VB.Net que je lisais il y a quelque années de ça, lol



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware
avatar
xav2303
On s'intègre
On s'intègre

Masculin Nombre de messages : 197
Age : 22
Localisation : Antony 92160
Emploi/loisirs : .Net / Plugin
Humeur : One Again.
Date d'inscription : 26/01/2009

Re: [RESOLU] Comment exécuter un programme externe

Message par xav2303 le Sam 9 Jan 2010 - 20:45

Ca c'est de l'explication amusé Bien joué Wink



Les mots magiques :
- Bonjour
- S'il vous plait
- Merci
-Au revoir

Sont des petits mots bien gentils qu'on oublie trop souvent !

lerombasien
Nouveau
Nouveau

Masculin Nombre de messages : 17
Age : 73
Date d'inscription : 15/11/2009

executer un programme externe

Message par lerombasien le Sam 9 Jan 2010 - 21:08

une autre façon d'appeler un programme externe

dim monprog as string = "c:\program files\jeux\sokoban\sokoban.exe"
Microsoft.VisualBasic.Interaction.shell(monprog, ,true)

cela parait évident
la première ligne donne le chemin d'accès au programme
la deuxième ligne execute le programme

le dernier parametre true dit que sz doit attendre la fin du programme
false dit que sz n'attend pas
si ce parametre est à true, il peur y avoir un parametre supplémentaire qui indique le nombre de millisecondes à attendre avant de continuer

dim monprog as string = "c:\program files\jeux\sokoban\sokoban.exe"
Microsoft.VisualBasic.Interaction.shell(monprog, ,true,3000)

indique que sz attendra 3 secondes avant de continuer son execution

à vous de choisir la solution qui convient le mieux

bon courage
avatar
xav2303
On s'intègre
On s'intègre

Masculin Nombre de messages : 197
Age : 22
Localisation : Antony 92160
Emploi/loisirs : .Net / Plugin
Humeur : One Again.
Date d'inscription : 26/01/2009

Re: [RESOLU] Comment exécuter un programme externe

Message par xav2303 le Sam 9 Jan 2010 - 22:35

Bonsoir,
Je ne vois pas l'utilité de déclarer la variable, et non de la mettre directement dans l'interaction Shell...

Bonne nuit à tous



Les mots magiques :
- Bonjour
- S'il vous plait
- Merci
-Au revoir

Sont des petits mots bien gentils qu'on oublie trop souvent !

lerombasien
Nouveau
Nouveau

Masculin Nombre de messages : 17
Age : 73
Date d'inscription : 15/11/2009

executer un programme externe

Message par lerombasien le Dim 10 Jan 2010 - 0:28

tout simplement parceque dans softwarezator si je mets tout sur une seule instruction je suis sur deux lignes dans la zone de saisie et l'instruction est coupée en deux par un retour ligne. pour palier à cela, la syntaxe serait plus complexe.
deuxième raison : je peux saisir le nom du programme dans la forme et l'affecter à la variable
donc executer ainsi n'importe quel programme

bonne nuit

Contenu sponsorisé

Re: [RESOLU] Comment exécuter un programme externe

Message par Contenu sponsorisé


    La date/heure actuelle est Mer 26 Juil 2017 - 8:46