2010-11-10 4 views
1

Je crée une application Win32 qui contrôle une autre application codée en Java à l'aide de composants AWT. J'ai pensé que si je pouvais récupérer la liste principale de l'application et la lancer avec la bibliothèque JLIB, je serais capable de lire son contenu.Récupération d'un objet Java (Liste) à partir d'une application Win32

Tout d'abord, ai-je raison ou je ne serai pas en mesure d'obtenir le contenu réel de la liste? Si j'ai raison je voudrais savoir comment y parvenir puisque je n'ai trouvé aucun bon logiciel d'espionnage pour Java et Spy ++ ne montre qu'un composant SunAwt. Ce que je présume dans le conteneur pour l'ensemble de l'application Java.

Je ne m'attends pas à ce que quelqu'un me dise comment faire le tout, mais seulement quelques directions seraient vraiment super depuis que je l'ai cherché pendant un moment maintenant.

Merci pour les réponses !!!

+0

Programmes, (à l'exception possible de ceux écrits en Lisp), ne disposent pas d'une « liste principale » êtes-vous après un composant GUI java.awt.List ou un java.util.List ? –

Répondre

0

Il est très probable que l'application Java utilise réellement Swing et non AWT. Swing dessine ses propres widgets au-dessus d'un seul composant AWTComponent, de sorte que le widget de liste que vous voyez n'existe pas du point de vue de Windows.

Je suppose que vous ne pouvez pas modifier cette application Java afin qu'elle puisse être contrôlée sur une API raisonnable (par exemple JMX ou REST)?

Vous pouvez essayer d'exécuter la JVM avec l'interface de débogage JPDA activée. Vous pouvez ensuite utiliser les API JPDA pour modifier les structures de données et appeler directement des méthodes sur n'importe quel objet de ce programme. Trouver les bons à appeler sera difficile, cependant.

Voir http://download.oracle.com/javase/6/docs/jdk/api/jpda/jdi/index.html

Questions connexes