IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Manipuler des applications externes


Sujet :

Java

  1. #1
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut Manipuler des applications externes
    Hello

    Je recherche quelques moyens / pistes pour lister et recuperer des informations sur des applciation externe a la mienne.

    Dans un langage "classique" tout passe par le listing des process du system et la gestion des applications (Process) via le handle de ces dernier(e)s.

    sous Java la notion de "handle" n'existe pas vraiement il me semble, du coup est-c faisaible via les API Java ou bine faut il passer par un module win32 et JNI ?

    Le but est de recuperer la liste des process, leur noms, le "handle" de leur forms afin d'extraires certaiens informations comme la taille, la position, etc ...

    Merci !

  2. #2
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Java n'est pas approprié pour ce genre de choses.
    Trop lié à l'OS.
    Il faudra obligatoirement du JNI (ou JNA).

  3. #3
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    C'est bien ce qu'il me semblais ....
    Ben merci de confirmer cette precision

  4. #4
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Une question supplementaire : JNI/JNA peut gerer le multiplateform ?

    Genre : Acceder aux api systeme de Mac, Windows, et Linux ? ou cela est il aussi dedié a quelques systemes ?

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Clorish Voir le message
    Une question supplementaire : JNI/JNA peut gerer le multiplateform ?
    Oui... et non !

    JNI/JNA peuvent être utilisés sous n'importe quel système... mais comme ils servent à appeler du code natif c'est ce dernier qui doit être multiplateforme.

    Ce qui entraine divers problèmes :
    • Tu dois proposer plusieurs versions du code natif (une par système/architecture).
    • Les APIs natifs ne sont pas forcément uniformisé : je ne pense pas qu'il y ai une API unique commune à tous les systèmes pour accéder à la liste des processus.



    a++

  6. #6
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Oui bien sur ....
    Mais si déjà ce code permet d'accéder au apis système de chaque plateforme sans restriction ... c'est déjà un bon point

    Apres bien sur .. faudra spécialiser le code

  7. #7
    Invité de passage
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Par défaut
    Salut les experts de JNI,
    Je voudrais savoir si l'un d'entre vous a deja reussi à faire passer un handle fenetre(avec pour type PointerType ou HWND de JNA ) de JAVA à C.

    Car je voudrais en fait passer un handle fenetre recuperer avec findWindow depuis java (grace à JNA). Le probleme c'est que je n'arrive pas à le recuperer coté natif pour pouvoir mettre en place un hook dessus.

    J'espère que j'ai été clair, c pas évident d'expliquer mon problème

  8. #8
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    J'ai pas mal reflechi au probleme car ca m'interresse aussi.
    Notement pour manipuler sous java un moter 3D ecrit en C++, dont le rendu demande un handle de fenetre.

    Si le handle renvoyé par Findwindows (JNA) est un handle de fenetre natif ca passe. Un handle etant un simple entier, suffit juste de trouver le bon format de transfert de cette information.

    Par contre si c'est une fenetre d'une applciation java (Swing ou awt) ca va poser de tres gros problemes car le rendu des graphiques est independant du systeme et si je ne me trompe pas, simplement "dessiné". Il n'y a donc pas d'objet systeme derriere tout ca et donc pas de handle.

    une alternative (non testée) a ca serait de passer par l'api d'eclipse : SWT qui elle est lié au systeme et s'appuie sur les objets du systeme.
    Les composant possedent des methodes d'acces au handle des fenetres (sans passer par JNA), qui bien que deconseillée (usage interne) peut grandement servir dans ce genre de cas.

Discussions similaires

  1. aide: manipuler une application externe en mode invisible?
    Par forzacodm dans le forum Windows Forms
    Réponses: 0
    Dernier message: 23/01/2013, 00h20
  2. [Débutant] aide: comment manipuler une application externe en mode invisible?
    Par forzacodm dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 23/01/2013, 00h19
  3. [XL-2003] Manipuler des applications avec VBA
    Par setepenre dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/12/2010, 11h40
  4. [SP-2007] Intégrer des applications externes dans SP 2007
    Par benharperr dans le forum SharePoint
    Réponses: 3
    Dernier message: 13/04/2010, 14h44
  5. <NetBeans>Appel des applications externes
    Par souhir2008 dans le forum NetBeans
    Réponses: 0
    Dernier message: 09/08/2008, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo