Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
1829 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Exécuter un programme en ressource.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] Exécuter un programme en ressource.

n°2080014
DiB91
Bwaaaaaaah
Posté le 02-06-2011 à 13:08:23  profilanswer
 

Bonjour à tous :)
 
Je viens vers vous aujourd'hui avec une petite question en programmation C# sous Visual Studio...
J'ai cherché sur le net, et aucun code trouvé ne semble fonctionner...
 
J'ai un projet, une application C# WinForms dans une solution Visual Studio 2010.
Je voudrai que lors d'un évènement particulier (un onclick sur un bouton, ça, c'est ok), un exécutable se lance avec des arguments.
L'exécutable en question est un petit freeware trouvé sur le net qui exécute certaines tâches que je ne peux pas faire en C#.
 
Mon problème : comment intégrer cet exécutable à ma solution et comment l'appeler dans le code de mon application winform ?
 
Ce que j'ai essayé :
- essayer de créer un projet unique pour le .exe externe : sans succès.
- intégrer l'exe en tant que ressource dans mon Resources.resx : je le vois bien mais il semble considéré comme un byte[] au lieu d'un Process
 
Que puis-je faire, sachant que je voudrai, si possible, ne pas "simplement" copier le .exe dans le dossier de mon appli ??
 
Merci d'avance
Damien

mood
Publicité
Posté le 02-06-2011 à 13:08:23  profilanswer
 

n°2080057
xaeon
Profil: TT
Posté le 02-06-2011 à 16:47:44  profilanswer
 

En VB.NET j'utilisai la fonction Shell
http://msdn.microsoft.com/fr-fr/li [...] S.80).aspx

 

Je suppose qu'un équivalent existe pour C# :)

 

Edit :: j'avais mal compris au debut mais si tu veux "cacher" c'est exécutable je n'ai pas de solution :(


Message édité par xaeon le 02-06-2011 à 16:48:57
n°2080060
DiB91
Bwaaaaaaah
Posté le 02-06-2011 à 17:37:46  profilanswer
 

Ah bah peut-être que la solution n'éxiste pas effectivement, mais vu qu'on peut facilement gérer les images, vidéos et sons via les ressources, je pensais pouvoir en faire autant avec un exécutable :)
Sinon, tant pis, je me contenterai d'un exe placé dans un dossier "\data" :jap:

n°2080208
Je@nb
IPv6 Vaincra
Posté le 03-06-2011 à 13:57:06  profilanswer
 

Tu pourrais au lancement de ton appli copier ta ressource dans le rep du programme (ou dans temp) en .exe et tu le lances depuis là.


---------------
Mon blog - - WikINSA, le wiki des insaliens
n°2080212
DiB91
Bwaaaaaaah
Posté le 03-06-2011 à 14:09:19  profilanswer
 

Effectivement, c'est ce que j'ai fait pour le moment :)
J'ai ajouté le .exe dans un dossier "\Data" et je demande que lors de la compilation, le fichier soit copié dans le dossier courrant de l'appli.
Du coup, je peux l'appeler simplement avec un Process.Start classique puisque son arborescence relative "\Data\blabla.exe" ne varie pas :)
Merci pour votre aide en tout cas

n°2080215
Je@nb
IPv6 Vaincra
Posté le 03-06-2011 à 14:16:54  profilanswer
 

Ouais au final tu as 2 exe non ? un à la racine, et un dans ton rep data ou tu as juste ton exe ?


---------------
Mon blog - - WikINSA, le wiki des insaliens
n°2080225
DiB91
Bwaaaaaaah
Posté le 03-06-2011 à 14:58:31  profilanswer
 

Nonon, en effet, lorsque j'ajoute le freeware dans un dossier (disons "\Data" ) et que je demande dans ses propriétés d'être copié à l'exécution, je me retrouve bien dans "bin\Release" ou "bin\Debug" avec :
Data\le_freeware.exe
mon_executable.exe
mon_executable.config
mes_dll.dll
etc...
 
Le freeware dans Data a bien été copié dans le dossier courrant :)

n°2080227
Je@nb
IPv6 Vaincra
Posté le 03-06-2011 à 15:00:01  profilanswer
 

Ouais, je parlais de le mettre en ressource et au lancement de l'extraire de la ressource pour le mettre dans un répertoire (genre décompression).
 
Mais bon si ça te va de l'avoir en plus c'est bon :)


---------------
Mon blog - - WikINSA, le wiki des insaliens
n°2080232
DiB91
Bwaaaaaaah
Posté le 03-06-2011 à 15:05:15  profilanswer
 

Ah, autant pour moi, j'avais pas compris ça :D
 
Non, effectivement, à la base j'aurai voulu ne pas l'avoir dans mon arborescence de sortie. Je préfèrerais n'avoir qu'un unique mon_excutable.exe.
C'est pour ça que je voulais jouer avec les ressources intégrées.
Dans ce cas, j'y suis bien parvenu, j'ai bien eu un freeware.exe en 'Autre fichiers' dans mon Resources.resx, mais je ne comprends pas comment y accèder dans le code .cs de mon_executable.
 
Piste que j'ai pas essayé (me souviens plus) :
- ajouter freeware.exe en Ressource intégrée à Resources.resx
- le régler pour être copié à l'exécution où il faut
- demander la génération de ma solution
- essayer d'accéder à la ressource dans le code de mon_executable.
 
(j'avais pas pensé à générer entre les 2 étapes...)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Exécuter un programme en ressource.

 

Sujets relatifs
exécuter une chaine en javaC, linux et les pipes
[C# .NET] Crash d'une DataGridViewcours C++ concis ?
[C] Interpreteur de commandes - Multipipes[RESOLU] Modification d'un fichier en PHP
Programmer une communication via liaison RS232 en Cerreur de syntaxe, probleme langage C
Buffer / Buffer overflow en C et en Java[C/C++/C#] Aspirateur de sites
Plus de sujets relatifs à : [C#] Exécuter un programme en ressource.


Hit-Parade
Copyright © 1997-2012 Hardware.fr SARL / Groupe LDLC / LesNumeriques.com / Version anglaise du site: BeHardware