Un code java pour appelé un executable en visualc++

cs_bounekhla Messages postés 1 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 17 juin 2008 - 5 mai 2008 à 01:24
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 - 5 mai 2008 à 13:51
bonjour, je veux avoir des propositions concernant des codes sources en java . je veux réaliser une application avec java mais j'ai besoin d'une partie qui est déja faite avec  visual c++.
aidez moi svp comment je peux faire pour programmer sa. je veux programmer en java et appeler un executable en visual c++.

   aidez moi s'il vous plait.

13 réponses

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 18
5 mai 2008 à 08:12
Salut,

s'il s'agit seulement d'appeler un exécutable tu peux utiliser la méthode exec()..

en voici un tutoriel..
un autre..
0
Utilisateur anonyme
5 mai 2008 à 09:25
Bonjour

Tu peux utiliser JNI ou bien JNA pour faire ça. Il me semble qu'il y a au moins un tutoriel sur JNI sur ce site. JNA est plus simple. A toi de voir. Bon courage.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 18
5 mai 2008 à 10:05
Salut,

gouessej -> si l'exécutable VC++ est déjà fourni pas besoin de passer par la JNI ou JNA. Non ?

car je connais que ces API s'avèrent utiles quand il s'agit d'appeler un code natif non un exécutable (corrigez moi si je me trompe)..
0
Utilisateur anonyme
5 mai 2008 à 10:28
En effet, s'il faut bêtement appeler un exécutable sans récupérer des résultats depuis le programme, il n'y a nul besoin de JNI et JNA.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0

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

Posez votre question
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 18
5 mai 2008 à 11:20
même les résultats s'ils sont des affichages sur console peuvent être récupérés par le biais de l'InputStream du programme lancé :
processus = Runtime.getRuntime().exec(...);
InputStream = processus.getInputStream();
0
Utilisateur anonyme
5 mai 2008 à 12:35
Oui mais s'il a vraiment envie de récupérer énormément de résultats, niveau performance c'est mieux alors d'envisager l'utilisation de JNI ou JNA, c'est surtout plus propre.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 18
5 mai 2008 à 12:51
OK je vois bien : merci pour tes explications
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
5 mai 2008 à 13:05
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>
</title>
<meta name="GENERATOR" content="OpenOffice.org 2.4 (Linux)" />
<style type="text/css">
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
</style>
Salut,

de toute façon un exec
est la porte ouverte aux trous de sécurités (ça reste et restera
toujours mon point de vue...), donc je rejoins [auteur/GOUESSEJ/684669.aspx gouessej]
quand à l'utilisation de JNI et/ou JNA.
Cependant, vu le but de
la question qui se porte sur MS VC++, il n'y a ici aucun intérêt
d'utiliser JNI/JNA et pour être franc il n'y a AUCUN intérêt de
faire du java quand on se focalise sur une application MS Windows...





- Cela rend le code et l'application non portable.


– Tu imposes aux utilisateur (et à
toi même) l'utilisation d'une JVM sans raisons, alors que C# ou
encore VB suffit amplement voir même mieux du fait que tu peux très
simplement récupérer les handles windows (HWND) des composant de MS
VC++ et donc gagner un temps de traitement et ne manipulation non
négligeable











------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Utilisateur anonyme
5 mai 2008 à 13:14
Oui c'est vrai, si c'est du 100% pur windows, ça sert à rien de faire du Java.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 18
5 mai 2008 à 13:18
Salut Twinuts, tu peux expliquer d'avantage cette idée "de toute façon un exec est la porte ouverte aux trous de sécurités"...

Merci d'avance..
0
Utilisateur anonyme
5 mai 2008 à 13:22
Imagine ton exécutable contient un malware. Tu n'as aucun contrôle là-dessus depuis ton code Java. Si tu le lances, je te laisse imaginer les conséquences. Sous Linux, si tu maintiens bien ta machine, tu ne risques pas grand chose. Je pense que Twinuts saura t'expliquer ça mieux que moi.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
5 mai 2008 à 13:42
Salut,

heu je te l'ai déjà expliqué sur un ancien poste du meme genre... (ICI)
Bon je colle ce que je t'ai déjà expliqué ^^ :

Les appels systèmes sont la porte ouverte aux trous de sécu dans une
application... avec ça tu n'as aucun moyen de distinguer le process
d'origine d'un process rootkité, de plus rien de ne garanti (sauf
peut-être le md5sum du binaire à exécuter mais ça reste relativement
lourd (pour les gros binaires)) que l'application que ton process
exécute soit la bonne et non un beau virus ou autre merdouille du genre
(au passage si ton client exécute ton application (qui appel un
programme malveillant à son insu ) pour lui, c'est toi le coupable...).

Bref
ce que je veux dire par là c'est tant que tu peux ne pas utiliser les
appels aux process externe, fait le, ce même si tu dois écrire des api
natives... sinon essai le plus possible de pré calculer les hash md5
des application à exécuter, afin de vérifier l'intégrité de celle-ci...

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 18
5 mai 2008 à 13:51
Merci Twinuts et désolé j'ai oublié ta réponse de l'autre fois et oublié que c'est toi qui m'a répondu
0
Rejoignez-nous