Le newbie
Messages postés200Date d'inscriptionmardi 17 octobre 2006StatutMembreDernière intervention24 mars 2012
-
17 oct. 2006 à 16:38
cs_kharrat
Messages postés71Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention29 mars 2007
-
6 mars 2007 à 20:24
Salut à tous,
J'aurais aimé savoir comment à partir du nom d'un fichier lancer le programme paramêtrer dans windows (ex : *.doc ouvre word)
J'ai bien penser au shellExecute mais il ne le reconnait pas en .net ou alors je n'ai pas chargé la librairie.
Si c'est ça, merci de m'indiquer laquelle c'est sinon de m'aider à trouver une solution simple claire et éficace (par rapport à des sources trouvées sur le forum).
Au point où j'en suis, je me demande s'il ne faut pas que je me fasse un fichier .ini où tout est déjà paramêtrer mais bon il doit y avoir plus simple.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 17 oct. 2006 à 18:25
ShellExecute est une api windows. Il faut la déclarer avec une instruction Declare.
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Integer, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer
Déclaration déjà corrigée pour .NET
Tu peux aussi regarder ma source, moins performante que ShellExecute, ici Attention, elle est prevu pour VB6. Pour .NET il faut corriger les type de variables.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_kharrat
Messages postés71Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention29 mars 2007 27 oct. 2006 à 17:15
Salut,
L'opération a l'air assez intéressante.
Mais ne peut-on pas faire la même chose en .NET en exploitant une des librairie native de l'environnement, typiquement en faisant un #include dans l'entête du module ?
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 1 mars 2007 à 11:59
Salut,
Tu peux utiliser Shell(Nom du fichier)
Exemple : Shell("C:/test.doc") et
cà va lancer le fichier test.doc avec le programme sur la machine qui
le prend en charge (par exemple : word s'il est installé ou openoffice
ca dépend ce qui est installé)
cs_kharrat
Messages postés71Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention29 mars 2007 6 mars 2007 à 20:24
salut,
merci pour ta réponse.
en ce moment, je fais du JAVA. dans ce cadre, je dois faire la même chose que ce que je pensais faire au début en C#.
j'exécute tout un tas de traitements et après je lance un éditeur de texte (ultra edit 32, à télécharger absolument pour ce qui ne le connaissent pas encore !!!) dans lequel j'affiche les logs d'exécution.
la classe JAVA utilisée est Runtime. chaque application JAVA a son propre Runtime(pas d'instanciation possible). l'intérêt, c'est qu'il n'y a aucun import à faire (Runtime appartient à java.lang).
la méthode
Runtime.exec("uedit32 monTexte.txt");
lance l'éditeur en question.
la méthode exec retourne un Process. il est donc possible de contrôler le processus exécuté depuis l'application.
en résumé : c'est trop top !
désolé pour cette longue digression sur JAVA (qui n'est peut-être pas veinne). voilà où je voulais en venir: je ne sais pas si C# a quelque chose d'aussi puissant (et d'aussi simple) dans ses tiroirs, mais je suis prêt à parier que oui. au pire un petit import (oups... include) à rajouter et "en voiture tout le monde !"