Fenetre terminal

Fenetre terminal - C - Programmation

Marsh Posté le 16-02-2006 à 18:23:26    

Bonjour,
 
j'ai fait un petit programme en c qui me permet de lancer mes applications java sans passer par un terminal pour taper :
c:\java monappli
 
Le prgramme fonctionne bien mais j'ai un terminale qui se lance en arriere plan.
Est-il possible de masquer la fenetre de se terminal ?
 
merci

Reply

Marsh Posté le 16-02-2006 à 18:23:26   

Reply

Marsh Posté le 16-02-2006 à 19:04:08    

En je ne sais pas trop comment faire lorsque tu es sous linux, mais si tu travaille sous windows (comme sa à l'air d'être le cas) tu met dans ton ".bat" :
 

Code :
  1. javaw  monAppli


 
au lieu de :
 

Code :
  1. java monAppli


 
Cependant je ne connais pas de solution portable.
 
J'espère que sa pourra t'aider.
 
 
Bon courage.
 
 
:edit:
 
Désolé je parle de ".bat", mais sa l'air d'être lancé avec unprgm C.


Message édité par pj_crepes le 16-02-2006 à 19:05:42
Reply

Marsh Posté le 16-02-2006 à 19:23:13    

En fait c'est un programme qui me permet de trouver le fichier :
monappli.class
à éxecuter avec la commande java.
 
je fait un appel à la fonction system("java monappli" );

Reply

Marsh Posté le 16-02-2006 à 19:25:17    

jcqguill a écrit :

En fait c'est un programme qui me permet de trouver le fichier :
monappli.class
à éxecuter avec la commande java.
 
je fait un appel à la fonction system("java monappli" );


 
Ok donc dans tous les cas tu ne recherche pas de portabilité.
Essaye "javaw" je pense que sa devrait te convenir dans ce cas.

Reply

Marsh Posté le 16-02-2006 à 19:30:16    

Désolé mais cela ne fonctionne pas mon programme java ne se lance pas.

Reply

Marsh Posté le 16-02-2006 à 19:32:14    

jcqguill a écrit :

Désolé mais cela ne fonctionne pas mon programme java ne se lance pas.


 
Si tu tappes "javaw" dans un invite de commandes il connait ou pas ?

Reply

Marsh Posté le 16-02-2006 à 19:35:40    

Oui, si je tape directement dans un terminal :
javaw monappli
ca fonctionne

Reply

Marsh Posté le 16-02-2006 à 19:38:09    

Essaye sa :
 

Code :
  1. javaw -CLASSPATH ... monAppli

Reply

Marsh Posté le 16-02-2006 à 19:40:49    

J'ai un message d'erreur :
Could not create the java virtual machine.
 
Il faut que je rentre le chemin de mon appli dans le CLASSPATH ?

Reply

Marsh Posté le 16-02-2006 à 19:47:15    

jcqguill a écrit :

J'ai un message d'erreur :
Could not create the java virtual machine.
 
Il faut que je rentre le chemin de mon appli dans le CLASSPATH ?


 
 
Non, désolé sa doit être une erreur de ma part.
 
Essaye sa :
 

Code :
  1. javaw -classpath ... monAppli

Reply

Marsh Posté le 16-02-2006 à 19:47:15   

Reply

Marsh Posté le 16-02-2006 à 19:51:49    

Il ne se passe rien.
Meme en ligne de commande :  
c:\javaw -classpath monappli
ne donne rien

Reply

Marsh Posté le 16-02-2006 à 19:53:02    

jcqguill a écrit :

c:\javaw -classpath monappli


 
non :
 

Code :
  1. javaw -classpath ... monappli


Reply

Marsh Posté le 16-02-2006 à 19:56:39    

Ok mon appli java se lance mais j'ai toujours un terminal derriere.

Reply

Marsh Posté le 16-02-2006 à 19:59:15    

jcqguill a écrit :

Ok mon appli java se lance mais j'ai toujours un terminal derriere.


 
Ha dans ce cas je suis désolé moi sa fonctionnait en lancant depuis un ".bat".
Il me semble bien que c'est comme sa que j'avais fait.
 
 
Désolé je ne peux pas t'aider plus.
 
 
 
Bon courrage.

Reply

Marsh Posté le 16-02-2006 à 20:03:08    

Merci pour ton aide.
Je vais essayer de faire un .bat alor.

Reply

Marsh Posté le 16-02-2006 à 20:07:47    

Je viens de faire un .bat dans lequel je n'est que :
javaw -classpath ... monappli
 
et j'ai toujours un terminal en arriere plan :(
 
Sinon as tu une solution pour faire la meme chose sous linux ?
 
merci d'avance

Reply

Marsh Posté le 16-02-2006 à 20:55:17    

Bin sous Linux je ne sais pas faire.
Mais par contre sous windows, j'avais réussi à faire en sorte que sa fonctionne comme sa.
 
Sinon faudrait voir peut être en faisant un jar exécutable.
Y a peut être des options qui existent à mettre dans le manifest.
Si c'est le cas sa serait le top (sa serait portable).
 
Si j'ai une autre idée je te fait signe.

Reply

Marsh Posté le 16-02-2006 à 20:59:34    

Ok merci.
Je viens de trouver une solution je fait appel à execlp :
char commande[20]="monaplli";
execlp("javaw","javaw -classpath ...",commande,0);
 
je n'ai plus de fenetre terminal par contre mon appli se lance mais en arriere plan :(

Reply

Marsh Posté le 16-02-2006 à 21:13:08    

j'ai un truc qui va surement te convernir :)
 

Code :
  1. start javaw -classpath ... monappli

Reply

Marsh Posté le 16-02-2006 à 21:15:32    

Encore mieux je viens de tester sa fonctionne :
 

Code :
  1. start javaw monappli


 
 
Dis moi si sa te convient.

Reply

Marsh Posté le 16-02-2006 à 21:27:36    

Super :) merci pour ton aide ca marche nikel

Reply

Marsh Posté le 17-02-2006 à 17:13:02    

jcqguill a écrit :

Super :) merci pour ton aide ca marche nikel


 
Impec.
 
Tient au faite je viens de penser à un truc sous Linux c'est simple, il suffit de donner l"équivalent de start :
 

Code :
  1. sensible-...


 
"..." parce que je ne sais plus exactement ce qui va derrier par exemple pour le nivigateur par défaut c'est "sensible-browser"
il suffit de trouver celui qui correspond au terminal (y a qu'à utiliser la complétion).

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed