A voir également:
- "ouvrir avec" en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Ouvrir avec - Guide
4 réponses
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
19 févr. 2018 à 15:42
19 févr. 2018 à 15:42
Bonjour,
Tu peux utiliser Runtime.exec
https://docs.oracle.com/javase/9/docs/api/java/lang/Runtime.html#exec-java.lang.String:A-
Exemple :
Tu peux utiliser Runtime.exec
https://docs.oracle.com/javase/9/docs/api/java/lang/Runtime.html#exec-java.lang.String:A-
Exemple :
Process p = Runtime.getRuntime().exec(new String[] { "tcc.exe", "machin.btm" });
Bonjour,
Je reviens vers vous car je voulais juste savoir si il était possible d'utiliser CmdArray sur Windows 10 S (version bridé qui interdit l'exécution de cmd.exe)
Merci
Je reviens vers vous car je voulais juste savoir si il était possible d'utiliser CmdArray sur Windows 10 S (version bridé qui interdit l'exécution de cmd.exe)
Merci
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
4 avril 2018 à 21:35
4 avril 2018 à 21:35
Bonjour,
Le seul moyen de le savoir c'est d'essayer...
Le seul moyen de le savoir c'est d'essayer...
Bonsoir,
Est-ce normal que lorsque cette commande java s'exécute en arrière plan :
Moi, ce que je cherche, c'est d'ouvrir une fenêtre TCC avec le script.
Sauriez-vous comment je pourrais faire cela s'il vous plaît ?
Merci
Est-ce normal que lorsque cette commande java s'exécute en arrière plan :
Process p = Runtime.getRuntime().exec(new String[] { "tcc.exe", "machin.btm" });
Moi, ce que je cherche, c'est d'ouvrir une fenêtre TCC avec le script.
Sauriez-vous comment je pourrais faire cela s'il vous plaît ?
Merci
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
5 avril 2018 à 22:36
5 avril 2018 à 22:36
Bonsoir,
Il faudrait regarder la documentation de ton programme (que je ne connais pas), il y a sûrement des options qui permettent de faire ce que tu veux, dans tous les cas cela fonctionnera de la même manière avec exec() que si tu le fais avec cmd.exe
Remarque : tout ce que l'invite de commande affiche d'habitude peut également être lu via l'objet Process que tu récupères, cela peut être utile si la commande que tu as saisi a provoqué une erreur.
Exemple : https://forums.commentcamarche.net/forum/affich-33667294-processbuilder-ne-fonctionne-pas-a-partir-d-un-serveur-weeb#1
Il faudrait regarder la documentation de ton programme (que je ne connais pas), il y a sûrement des options qui permettent de faire ce que tu veux, dans tous les cas cela fonctionnera de la même manière avec exec() que si tu le fais avec cmd.exe
Remarque : tout ce que l'invite de commande affiche d'habitude peut également être lu via l'objet Process que tu récupères, cela peut être utile si la commande que tu as saisi a provoqué une erreur.
Exemple : https://forums.commentcamarche.net/forum/affich-33667294-processbuilder-ne-fonctionne-pas-a-partir-d-un-serveur-weeb#1
Bonsoir,
Il n'y a pas vraiment de Doc Pour faire ce que je veux avec TCC
Tous ce qui est permis c'est "TCC.exe fichier.btm"
On peut à la limite mettre start devant...
Mais en java en utilisant runtime exec, je ne vois pas comment faire avec des arguments...
Serait il possible que vous me montriez un exemple s'il vous plaît ?
Merci d'avance pour votre aide
Il n'y a pas vraiment de Doc Pour faire ce que je veux avec TCC
Tous ce qui est permis c'est "TCC.exe fichier.btm"
On peut à la limite mettre start devant...
Mais en java en utilisant runtime exec, je ne vois pas comment faire avec des arguments...
Serait il possible que vous me montriez un exemple s'il vous plaît ?
Merci d'avance pour votre aide
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
>
VBS
5 avril 2018 à 23:30
5 avril 2018 à 23:30
"je ne vois pas comment faire avec des arguments"
Exactement comme tu l'as fait, avec un tableau
"Serait il possible que vous me montriez un exemple s'il vous plaît ?"
Par exemple un
Exactement comme tu l'as fait, avec un tableau
exec(new String[] { "tcc.exe", "machin.btm" });
"Serait il possible que vous me montriez un exemple s'il vous plaît ?"
Par exemple un
ping localhosten reprenant le code du lien de tout à l'heure.
import java.io.InputStream; import java.util.Scanner; import java.util.function.Consumer; public class Test { public static void main(String[] args) throws Exception { Process process = Runtime.getRuntime().exec(new String[] { "ping", "localhost" }); Thread out = consume(process.getInputStream(), line -> System.out.println("STDOUT: " + line)); Thread err = consume(process.getErrorStream(), line -> System.err.println("STDERR: " + line)); int exitValue = process.waitFor(); out.join(); err.join(); System.out.println("RESULT: " + exitValue); } private static Thread consume(InputStream in, Consumer<String> out) { Thread t = new Thread(() -> { try (Scanner sc = new Scanner(in, "Cp850")) { while (sc.hasNextLine()) out.accept(sc.nextLine()); } }); t.setDaemon(true); t.start(); return t; } }
Bonjour,
J'ai oublié de dire que je devais mettre ce code dans un jbutton.
Donc, si j'ai bien compris, je dois faire cela dans mon code :
C'est à dire, ce que j'utilise en ce moment ?
Merci
J'ai oublié de dire que je devais mettre ce code dans un jbutton.
Donc, si j'ai bien compris, je dois faire cela dans mon code :
Process process = Runtime.getRuntime().exec(new String[] { "ping", "localhost" });
C'est à dire, ce que j'utilise en ce moment ?
Merci
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
6 avril 2018 à 08:40
6 avril 2018 à 08:40
Bonjour,
Ne sautes pas trop vite les étapes. Tu avais déjà deux problèmes :
Commence par voir si avec un main simple ça fonctionne, pour régler les problèmes un par un, puis après tu intégrera ce code à ton interface graphique.
Cela pourra engendrer de nouveaux problèmes, mais au moins tu auras validé le fonctionnement de base de la commande.
Ne sautes pas trop vite les étapes. Tu avais déjà deux problèmes :
- L'exécution en arrière plan
- Windows 10 S
Commence par voir si avec un main simple ça fonctionne, pour régler les problèmes un par un, puis après tu intégrera ce code à ton interface graphique.
Cela pourra engendrer de nouveaux problèmes, mais au moins tu auras validé le fonctionnement de base de la commande.
Bonjour,
J'ai essayé de lancer ce code :
Cependant, j'obtiens cette erreur :
Comment pourrais-je remédier à cela s'il vous plaît ?
Est-ce que je m'y prends mal s'il vous plaît ?
Dois-je créér une autre classe et mettre le code que vous m'avez communiqué ?
Merci
J'ai essayé de lancer ce code :
try { Process process = Runtime.getRuntime().exec(new String[] {"start","tcc.exe","fichier.btm"}); } catch (IOException ex) { Logger.getLogger(Information.class.getName()).log(Level.SEVERE, null, ex); Desktop desktop = null; if (Desktop.isDesktopSupported()) { desktop = Desktop.getDesktop(); }
Cependant, j'obtiens cette erreur :
avr. 07, 2018 1:19:42 PM Information jButton4ActionPerformed
GRAVE: null
java.io.IOException: Cannot run program "start": CreateProcess error=2, Le fichier spécifié est introuvable
Comment pourrais-je remédier à cela s'il vous plaît ?
Est-ce que je m'y prends mal s'il vous plaît ?
Dois-je créér une autre classe et mettre le code que vous m'avez communiqué ?
Merci
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
>
VBS
7 avril 2018 à 14:17
7 avril 2018 à 14:17
Pourquoi utiliser start ? Dans mon exemple j'ai fait un
Si c'est la commande
ping localhost, pas un
start ping localhost...
Si c'est la commande
tcc.exe fichier.btmque tu veux lancer alors il faut faire
tcc.exe fichier.btmpas
start tcc.exe fichier.btm, le start ne sert à rien, ce n'est pas un programme.
Bonjour,
J'ai réussi à lancer la fenêtre en question !
"Pourquoi utiliser start ?"
Voilà le soucis :
Lorsque qu'on lance la commande
Aussi, lorsque l'on lance
Or
Pour régler ce soucis il m'a suffit d'appeler un fichier test de la façon suivante :
Vu que ce dernier s'exécute en arrière plan,
J'y ai mis la commande :
Ce qui me permet de lancer mon exécutable et son argument.
Merci encore pour votre aide !
J'ai réussi à lancer la fenêtre en question !
"Pourquoi utiliser start ?"
Voilà le soucis :
Lorsque qu'on lance la commande
TCC.exe fichier.btmon obtient le contenu sur la console cmd.exe or, nous voulions lancer la fenêtre de l'exécutable (mais pas sur la console cmd).
Aussi, lorsque l'on lance
tcc.exe fichier.btmdu java, ce dernier s'exécute en arrière plan étant donné que l'on clique sur un jbutton et qu'aucun zone de texte n'a été prévu, d'où l'utilisation de la commande
startqui lance le client avec l'argument.
Or
startn'est pas reconnu pas java étant donné que ce dernier n'est pas un fichier exécutable apparaissant dans l'arborescence du projet mais une simple commande Dos.
Pour régler ce soucis il m'a suffit d'appeler un fichier test de la façon suivante :
tcc.exe fichier.btm
Vu que ce dernier s'exécute en arrière plan,
J'y ai mis la commande :
start tcc.exe fichier.btm
Ce qui me permet de lancer mon exécutable et son argument.
Merci encore pour votre aide !