begin process at 2008 05 16 18:20:19
1 173 622 membres
440 nouveaux aujourd'hui
13 972 membres club

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 : 35 706

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/ )
21 novembre 2005 17:14:19 :
Ajout des mots clés
  • 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

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS