Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LANCER UN EXE / FICHIER


Information sur la source

Catégorie :.NET Source .NET ( DotNet ) Classé sous : executer, lancer, processus, application, fichier Niveau : Débutant Date de création : 24/01/2004 Date de mise à jour : 21/11/2005 17:14:19 Vu : 50 824

Note :
8,08 / 10 - par 13 personnes
8,08 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (44)
Ajouter un commentaire et/ou une note


Description

J'ai comme l'impression que c'est une question récurente ces derniers temps ^^
Comment lancer un executable ?
Comment ouvrir un fichier pour l'afficher dans l'appli qui le gere ?
 

Source

  • // Tout d'abord :
  • using System.Diagnostics;
  • // Lancements "simples" (pas d'interaction avec l'element lancé)
  • // exe connu par win
  • Process.Start(new ProcessStartInfo("notepad.exe"));
  • // exe "non connu"
  • Process.Start(new ProcessStartInfo(@"C:\Un dossier\executable.exe"));
  • // fichier qui beneficie d'une association a une appli installée (txt avec notepad, pdf avec acrobat, avi, wav, etc etc etc)
  • Process.Start(new ProcessStartInfo(@"C:\Un dossier\fichier.avi"));
  • // Lancements "avancés"
  • // Lancement puis attente de fermeture
  • Process proc = new Process();
  • proc.StartInfo = new ProcessStartInfo(...);
  • proc.Start();
  • proc.WaitForExit();
  • // ceci est equivalent :
  • Process proc = Process.Start(new ProcessStartInfo(...));
  • proc.WaitForExit();
  • // enfin dernier exemple : lancement d'une cmd sous XP en "silent"
  • // commande : net share "mon partage" /UNLIMITED
  • // cet exemple permet de voir le passage d'arguments a l'appli lancée ainsi que l'attribution d'un style d'affichage de sa fenetre
  • ProcessStartInfo infos = new ProcessStartInfo("net.exe","share \"mon partage\" /UNLIMITED");
  • infos.WindowStyle = ProcessWindowStyle.Hidden;
  • Process proc = Process.Start(infos);
// Tout d'abord : 
using System.Diagnostics;

// Lancements "simples" (pas d'interaction avec l'element lancé)
// exe connu par win
Process.Start(new ProcessStartInfo("notepad.exe"));

// exe "non connu"
Process.Start(new ProcessStartInfo(@"C:\Un dossier\executable.exe"));

// fichier qui beneficie d'une association a une appli installée (txt avec notepad, pdf avec acrobat, avi, wav, etc etc etc)
Process.Start(new ProcessStartInfo(@"C:\Un dossier\fichier.avi"));


// Lancements "avancés"
// Lancement puis attente de fermeture
Process proc = new Process();
proc.StartInfo = new ProcessStartInfo(...);
proc.Start();
proc.WaitForExit();

// ceci est equivalent : 
Process proc = Process.Start(new ProcessStartInfo(...));
proc.WaitForExit();

// enfin dernier exemple : lancement d'une cmd sous XP en "silent" 
// commande : net share "mon partage" /UNLIMITED
// cet exemple permet de voir le passage d'arguments a l'appli lancée ainsi que l'attribution d'un style d'affichage de sa fenetre
ProcessStartInfo infos = new ProcessStartInfo("net.exe","share \"mon partage\" /UNLIMITED");
infos.WindowStyle = ProcessWindowStyle.Hidden;
Process proc = Process.Start(infos);

Conclusion

Pour d'autres utilisations a vous de voir les propriétés
la MSDN est ton amie ^^ ( http://msdn.microsoft.com/library/ )
 

Historique

21 novembre 2005 17:14:19 :
Ajout des mots clés

Commentaires et avis

signaler à un administrateur
Commentaire de coq le 25/01/2004 11:01:31 administrateur CS

modif : ajout du Start qui manquait ^^

signaler à un administrateur
Commentaire de facdaar le 02/08/2004 09:00:35

Merci. Je me damandais justement comment lancer un fichier PDF sans avoir à me soucier de la version d'Acrobat installée ...

David.

signaler à un administrateur
Commentaire de psycomel le 22/09/2004 11:25:06

Salut!!

ca ne marche pas chez moi ta source. Meme pour un lancement simple. Il me crée le processus dans le gestionnaire des taches mais il ne mouvre pas notepad par exemple.
Personne n'a une idée ???

signaler à un administrateur
Commentaire de coq le 22/09/2004 11:45:05 administrateur CS

montre ton code de lancement

signaler à un administrateur
Commentaire de psycomel le 22/09/2004 12:26:20

c'est mon seul code. Je suis en c# et je travaille avec les webform. using System.Diagnostics;

Process.Start(new ProcessStartInfo("calc.exe"));

signaler à un administrateur
Commentaire de coq le 22/09/2004 14:07:25 administrateur CS

ce code lance la caluclatrice sur le serveur, pas chez le client

signaler à un administrateur
Commentaire de psycomel le 22/09/2004 14:11:12

D'akord je savais pas mais je suis le serveur !! pourtant je n'ai rien ?

signaler à un administrateur
Commentaire de coq le 22/09/2004 14:46:41 administrateur CS

je ne connais pas le sujet en profondeur mais je pense qu'il est normal que les GUI ne sois pas affichées par un lancement de ce genre

signaler à un administrateur
Commentaire de psycomel le 22/09/2004 14:51:36

Les GUI je ne connais pas ce terme, mais j'aimerais savoir si tu avais vraiment testé le lancement de ces executables avec les webforms ??? (parcke si oui ! c tres tres bizare que ca ne marche pas pour moi )

et kan tu dis lancement de ce genre : je n'arrive pas non plus à ouvrir un fichier pour l'afficher dans l'application qui le gère. (par exemple un document Word). Seul WINWORD fait partie de mes processus mais aucune fenetre WORD.?!!
...

signaler à un administrateur
Commentaire de coq le 22/09/2004 15:06:34 administrateur CS

interface graphique si tu preferes
oui j'ai tester

signaler à un administrateur
Commentaire de psycomel le 22/09/2004 15:28:29

pourtant pas mal de personnes sur le site posent la meme question que je te pose. On ne voit l'executable que dans les processus.

J'ai essayé avec tous les paramètres possible dans Process.StartInfo. ...

par exemple cet exemple trouvé quelque part :

Process myProcess = new Process();
myProcess.StartInfo.UseShellExecute=true;
myProcess.StartInfo.FileName= "calc.exe";
myProcess.StartInfo.CreateNoWindow = false;
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
myProcess.Start();


???? HELP ME MAN IF YOU CAN !!

signaler à un administrateur
Commentaire de coq le 22/09/2004 16:27:52 administrateur CS

mes exemples sont donnés pour du winform, pas du webform
ils lancent l'appli pour l'utilisateur courant, qui a sa session ouverte
quand tu lances en webform ça lance le process sur le serveur pour "l'utilisateur" ASPNET

signaler à un administrateur
Commentaire de psycomel le 22/09/2004 17:07:46

ok dakor. c'est avec winform. mais apres je suis dakor ca lance le process sur le serveur mais ca lance pas l'application JUSTE LE PROCESS !!!! :(

Merci pour tes réponses, c gentil de ta part. bye

signaler à un administrateur
Commentaire de virgul le 12/01/2005 08:22:17

Bonjour tout le monde,

Y a juste un truc que je ne comprend pas si comme le dit psycomel ca lance juste le process mais alors sur la machine client ca ne lui ouvre pas le pdf que l'on veux?

Pouvez vous m'expliqué comment on ouvre un pdf sur la machine du client

Merci de votre réponse

signaler à un administrateur
Commentaire de Diamondduff le 08/03/2005 11:25:35

Pour lancer en pdf sur la machine cliente (ie via navigateur), tu as un truc qui s'appelle : lien hypertexte.
Il ne faut pas que tu lances une appli externe bien sur, niveau sécurité c'est impossible.
Il faut juste que le plug in acrobat soit installé sur le navigateur, sinon il te sera proposé de l'enregistrer sous.

ca repond à ta question?

signaler à un administrateur
Commentaire de virgul le 08/03/2005 11:42:20

Merci pour ta réponse mais en faite je l'avais déjà trouvé sur un autre site!!!

C'est sympa

++

Thierry

signaler à un administrateur
Commentaire de quarto le 16/01/2006 16:54:13

Salut,
Je suis vraiment intéressé... mais je ne sais pas ce que c'est que «System.Diagnostics»? C'est une unité? Dans ce cas, où se cache-t-elle? Meri de me répondre car ça m'intéresse vraiment...

Quarto

signaler à un administrateur
Commentaire de coq le 30/01/2006 18:00:58 administrateur CS

Salut,

C'est un espace de noms : http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/cpref/html/frlrfSystemDiagnostics.asp

La classe qui nous intéresse ici (Process : http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/cpref/html/frlrfsystemdiagnosticsprocessclasstopic.asp) se situe dans l'assembly "System"

signaler à un administrateur
Commentaire de quarto le 31/01/2006 15:33:00

Merci Coq,

Je vais vite me mettre à jour... C'est un plaisir d'apprendre avec vous tous !

Quarto

signaler à un administrateur
Commentaire de vendeeman85 le 03/05/2006 10:40:31

Bon je sais pas si ça a ete résolu mais ça ça fonctionne correctement chez moi :

using System.Diagnostics;
...
public void Preview(string argument)
        {
            Process proc = new Process();
            ProcessStartInfo processStarInf = new ProcessStartInfo();
            processStarInf.FileName = "iexplore.exe";
            processStarInf.Arguments = argument;
            processStarInf.WindowStyle = ProcessWindowStyle.Maximized;
            proc = Process.Start(processStarInf);
        }


//et pour l'appeler:

// Lancer IE en ouvrant un fichier local
Preview("file://" + filepath);

//ou

// Lancer IE en ouvrant l'url d'un site
Preview("http://www.csharpfr.com");

signaler à un administrateur
Commentaire de djskeud le 30/05/2006 13:27:37

Bon code, clair et explicite. Rien a dire ça marche au top !!

signaler à un administrateur
Commentaire de lydiemml le 21/11/2006 15:22:33

Merci bcp. J'ai utilisé ton code en vb.net, j'ai testé avec des fichiers pdf, doc et des fichiers image. ça marche sans problème ! j'en avais vraiment besoin. encore merci!!

signaler à un administrateur
Commentaire de begiladss le 01/03/2007 17:42:35

Comment créer un fichier executable ou un fichier .exe avec vb express 2005?
Merci d'avance.

signaler à un administrateur
Commentaire de coq le 01/03/2007 18:02:16 administrateur CS

Salut,

En compilant.

signaler à un administrateur
Commentaire de jomree le 15/05/2007 11:44:19

Merci pour cette source, ça marche impeccable :D

signaler à un administrateur
Commentaire de Hybris95 le 03/11/2007 18:57:04

Salut,

Quelqu'un sait comment modifier les données d'un Processus ?

C'est à dire : Réussir à acceder à la mémoire d'un processus, trouver l'adresse mémoire de telle variable et enfin la modifier (ce qui ne devrait pas être le plus dur ^^).

signaler à un administrateur
Commentaire de wald39 le 08/11/2007 20:01:57

Est ce que quelqun'un saurait comment lacer un fichier qui est dans une ressource ? (en l'occyrence un ecran de veille .scr)

signaler à un administrateur
Commentaire de dadamagouil le 13/11/2007 14:37:48

J'ai trouvé un petit bug que j'ai pas résolu, si par exemple tu ouvre un fichier word et que un fichier word est déjà ouvert auparavant et que tu veux faire un WaitForExit, le process n'attends pas et retourne une erreur.

Si quelque trouve une solution elle est la bien venu. En fait j'ai essayé que avec word. Pour le reste je ne sais pas.

signaler à un administrateur
Commentaire de gabiset le 13/11/2007 16:37:40

Merci pour ce code, il fonctionne parfaitement !

A tout hasard, existe-t-il un moyen de lancer une appli, style notepad, côté client ?

signaler à un administrateur
Commentaire de Renfield le 13/11/2007 16:40:49 administrateur CS

coté client ?

signaler à un administrateur
Commentaire de gabiset le 13/11/2007 16:49:18

oui, en fait ce n'est pas notepad que je veux lancer bien sûr, mais une appli perso...
Dans la mesure où mon serveur n'est pas hébergé chez moi, j'aimerais pouvoir lancer mon appli (qui est située sur le serveur) à partir de mon site en ASP. D'où ma question de savoir s'il est possible de lancer une appli côté client ?
Car actuellement, j'ai testé avec notepad, et il se lance bien mais sur le serveur donc je ne le vois pas !!!
Merci ;-)

signaler à un administrateur
Commentaire de dadamagouil le 13/11/2007 17:08:43

Oui c'est possible, mais niveau sécurité, je pense que le client doit accepter ce lancement. Enfin c'est d'après ce que j'en sais. J'ai vu pas mal de site faire ça. Je me rappel avoir vu un site qui permettait de faire des exercices WORD EXCEL ... et qui une vois l'exercice choisi il ouvrait le programme en question et il lancer même une application qui n'était pas installé sur le client.

signaler à un administrateur
Commentaire de gabiset le 13/11/2007 17:12:50

Ce serait super, sais-tu comment faire ???

signaler à un administrateur
Commentaire de dadamagouil le 14/11/2007 19:51:09

Ben écoute moi je m'y connais pas trop en ASP.NET parce que d'après ce que j'ai compris c'est ça que tu utilise en fait. Mais en Soft C#.NET j'utiliserais des Sockets. Et une requête personnalisée qui donne l'instruction en fait.

signaler à un administrateur
Commentaire de boulmaouahibe le 18/11/2007 02:24:06

salut a tous
je veux afficher l'output d'un processus sous dos
dans un textbox

Process myProcess = new Process();
myProcess.StartInfo.FileName = label8.Text + label14.Text;
myProcess.StartInfo.WorkingDirectory = label8.Text + label15.Text;        
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();

signaler à un administrateur
Commentaire de madebyhisto le 07/02/2008 22:53:36

Bonjour à tous,

j'ai un léger soucis avec l'objet Process. Je suis présentement dans une webform (donc un site web) et je veux démarrer un application sur mon serveur. Le problème c'est que le process apparait mais l'execution ne se fait pas. Voici un exemple concret. Si je fait Process.Start(new ProcessStartInfo("C:\test.bat")); et que mon fichier bat contient (notepad.exe) alors dans le gestionnaire de tache je vais voir apparaître cmd.exe comme process mais notepad ne s'executera jamais.

Quelqu'un a une idée face à se problème qui franchement est en train de me faire sacrer....:@

MadeByHisto

signaler à un administrateur
Commentaire de kikodos23 le 23/03/2008 22:18:20

bonjour ,
g créer une application qui offre aux aux clients de travailler en collaboration mais quand un client lance un processus sur une autre machine sa ne fonctionne pas ,mais localement sa fonctionne bien (sachant ke parfe,antivir...ts sont desactivé) c koi le pb et koi faire???

signaler à un administrateur
Commentaire de kikodos23 le 23/03/2008 23:11:00

Désolé pour le doublé mais g un autre petite question comment lancer une application (monfile.exe) situer a une machine distante et le fichier(monfile.exe) existe dans le répertoire de cette machine (C:\)commet je peut écrire la raquette du lancement (Process.start(new process....));,ou je peut indiquer le chemin exacte u fichier c à d comment intégrer l'@ ip du la machine du cette machine ...
(Process.Start(new ProcessStartInfo(@"C:\monfile.exe"));ou j'integrer l'@ ip exactement ou comment faire??  

signaler à un administrateur
Commentaire de coq le 24/03/2008 01:02:27 administrateur CS

Salut,

Pas vraiment, et heureusement.
Des outils permettant de faire ce genre de choses existent, comme notamment psexec (http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/PsExec.mspx) mais nous parlons ici de taches administratives lancée avec des privilèges administratifs que les utilisateurs ne sont absolument pas censés avoir en situation normale.

signaler à un administrateur
Commentaire de kikodos23 le 24/03/2008 11:48:56

Bonjour ,
moi je veut un moyen avec C# ,par exemple eske je peut par exemple envoyer la requette (Process.Start(new ProcessStartInfo(@"C:\monfile.exe")); dans une socket envoyer au serveur et lors de la reception elle s'execute automatiquement eske c possible de faire sa ???

signaler à un administrateur
Commentaire de coq le 24/03/2008 11:55:46 administrateur CS

Autant envoyer seulement le chemin...

signaler à un administrateur
Commentaire de kikodos23 le 24/03/2008 15:50:29

c àdire (Process.Start(new ProcessStartInfo(@"http://@ip/monrepertoire/monfile.exe"));??

signaler à un administrateur
Commentaire de kikodos23 le 24/03/2008 16:21:05

c à dire j'envoie (C:\monfile.exe) a la machine distante comment faire sa svp et coment associer des parametre a cette requette???(ex: monfile.exe fait l'addition de a+b comment je le lance dans la machine distante avec ces paramettre a et b??)avec plus de details SVP c urgen pour moi et Merci d'avance

signaler à un administrateur
Commentaire de coq le 24/03/2008 16:29:52 administrateur CS

Les commentaires sur source ne sont pas le meilleur endroit pour ce genre de discussion, tu devrais plutôt demander ça dans le forum, il y a plus de chances d'obtenir une réponse.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Ouverture multiple fichiers pr 1 seul processus [ par Blacknight91 ] Bl@cknightBonjour,J'ai une application pouvant recevoir en argument un chemin d'un fichier.J'ai fait l'association extension de fichier &lt;-&gt; mon Lancer un fichier .bat pendant l'exécution [ par lagoelle ] Bonjour, Apr&#232;s recherche, dans le forum, je me tourne vers vous. Voici la question: < lancer un processus en arriere plan en C# [ par defflava ] je veux réaliser un programme qui permet de lancer un processus permanenet en arriere plan qui detecte le changement dans un fichier texte. le progra Lancer un fichier d'aide compilé [ par Maglitee ] Bonjour, j'ai réalisé une application en C#. J'ai dans mon menu un bouton "aide". J'ai également réalisé un fichier d'aide compilé (*.chm).J'aimerai a Lancer une application en passant un argument [ par pyranea ] Comment peut on lancer une application qui necessite un argument a l'aide de C# ?Merci d'avance.[;-)]Pyranea Executer.... [ par CracK ] Je cherche à associer à un bouton par exemple la fonction qui me permetterai d'executer un fichier txt, mpg ou autres .... private void button1_Click lancer une application depuis c# [ par cedricp16 ] tout est dis ! comment puis-je lancer une application depuis csharp ?Merci Installation application .net ... [ par maevacmoi ] Hello !Je devrais faire un install shield pour une application .Net. Le fichier d'installation devrait être le plus léger que possible, puisque transf Installation d'IIS ... [ par maevacmoi ] Hello !J'ai un fichier d'installation .msi, qui contient mon application C#.net. Lors de l'exécution de ce fichier, il demande l'installation du frame Status de fichier [ par SharpMao ] Salut à tous,Est-ce que quelqu'un sait si il y a un moyen de savoir si un fichier est actuellement ouvert en écriture par un autre processus? Je m'exp


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.