Lancer une application windows (notepad pour DXF/SVG)

desastreux Messages postés 50 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 5 août 2009 - 2 déc. 2004 à 09:37
cs_Spawnrider Messages postés 254 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 9 avril 2007 - 4 déc. 2004 à 00:39
Bonjour,

Je voudrais pouvoir lancer des applis Windows ( telles que le notePad, ou bien encore Outlook Express, par exemple ) comme on peut le faire en VB : CàD sans connaître le PATH de ces applications chez le OS client.

Je cherche en effet à éxécuter le notepad Windows sur un fichier texte donné , à l'aide d'un simple bouton pressoir :
C'est probablement encore à ce jour plus rapide que si j'intégrais par exemple un autre notepad "made in JAVA" à mon appli :

Les fichiers textes en question sont des DXF ou des SVG assez gros ( je viens de finir un convertisseur DXF(2D)_to_SVG en java et je bosse actuellement sur l'I.H.M. qui devrait permettre un aperçu du contenu TEXT de ces fichiers avec par exemple ce fameux bouton pressoir...).
Or, même avec les nouvelles class nIO et une émulation de la JVM, ça rame encore un peu à côté des codes natifs ( On pourrait envisager aussi de compiler en EXE, donc, pour y remédier, mais je n'ai pas beaucoup de temps devant moi car je dois bientôt rendre un rapport de mon stage )

C'est pourquoi, je remercie vivement toute âme charitable et savante qui pourrait me renseigner à ce sujet , anodin, mais pourtant, semble-t'il, un peu occulte...

5 réponses

cs_Spawnrider Messages postés 254 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 9 avril 2007 1
2 déc. 2004 à 14:00
slt desastreux,

Une methode de la classe runtime te permet d'executer des programmes windows tel la commande shell de VB :
Runtime.getRuntime().exec("notepad tonfichier.svg");

Sachant que notepad est un programme se situant dans c:\windows et que celui-ci se trouve dans le PATH de l'environnement.
Si le programme a executer en se trouver pas dans le PATH alors il faudrait el rechercher pour l'executer...un peu plus dur ...

Voili, voilou ....
++++

##########################
# Alphaspawnrider@Yohann
# alphaspawnrider@hotmail.com
##########################
0
libeur Messages postés 36 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 24 décembre 2004 2
3 déc. 2004 à 08:10
Petite parenthèse. Pour aller le chercher, tu peux donner le chemin complet dans l'appel. "notepad" deviendrait "C:\windows\notepad". Mais dans le chemin du as un nom de répertoire avec un espace (au hasard "Program Files", ça a tendance à merder.
Voilà ce que j'en disais...

[Roger, un muscadet.]
0
desastreux Messages postés 50 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 5 août 2009
3 déc. 2004 à 19:27
Hello SpawnRider & Roger le Muscadet !

Effectivement, le Shell fonctionne à l'identique pour tous les programmes indiqués dans le PATH de Windows : Je m'en suis rendu compte dans la minute qui a suivi mon post puisque je connaissais déjà la méthode "Runtime.getRuntime().exec()".
Avec un peu plus de présence d'esprit (ça doit être dû à la fatigue de fin de projet et à l'abus de café...) je n'aurais ainsi pas eu à solliciter votre aide. Merci, toutefois...

Bien qu'invariablement Internet Explorer va s'installer dans "Program"+ +"Files", il eut été intérressant pour l'écécuter, lui ou tout autre programme, de pouvoir effectuer une recherche automatique ( avec par exemple :

File[] drive;
drive = File.listRoots();
for (int i = 0; i < drive.length; i++) {
if ( drive[i]].isDirectory() == true) {
getDIR(drive[i]); } }

public void getDIR(File driveOrDir) {
File[] fileList;
fileList = driveOrDir.listFiles();
for (int i = 0; i < drive.length; i++) {
if (fileList[i].isDirectory() == true) {
getDIR(fileList[i]); }
else if ( nomAPPLI(fileList[i].toString).compareTo("monAPPLI")==0) {
Runtime.getRuntime().exec(fileList[i].toString);
Return;
} } }

public void nomAPPLI( String URL )
{ URL -= (Etc...) }

Voili voilou, a-t'on fait le tour du sujet ?
0
desastreux Messages postés 50 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 5 août 2009
3 déc. 2004 à 19:33
:blush)
Parenthèse : Ci-dessus, je voulais bien sûr écrire ( je l'éppelle ce coup-ci, sinon ça va pas aller ! ) : "Program" + & # 160 ; + "Files"
Et, euh, pour la recherche automatique, vous comprendrez bien que le code ci-dessus ne saurait fonctionner immédiatement après un copié-collé : Il reste à adapter; c'était juste pour l'idée.
:sleepy)
Bref, encore merci pour la gentillesse de ceux qui se donnent la peine de répondre et à bientôt sur Codes-Sources pour de nouvelles aventures !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Spawnrider Messages postés 254 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 9 avril 2007 1
4 déc. 2004 à 00:39
Merci a toi ...
C cool ... ;o)
Codeur dans l'âme !!!

##########################
# Alphaspawnrider@Yohann
# alphaspawnrider@hotmail.com
##########################
0
Rejoignez-nous