Question

J'ai une application Java qui fonctionnera sur Windows 7 (à l'aide de Swing, de l'application n ° 1) qui fonctionne en plein écran (mais pas en mode exclusif). J'ai une autre application (application n ° 2) qui affiche une interface graphique pour configurer un périphérique externe sur un port série que je n'ai pas la source et ne peut pas changer du tout.

Je souhaite intégré l'application n ° 2 à l'intérieur de l'application n ° 1 de sorte qu'il semble qu'il fait partie de l'application Parent Java (masquant le bouton de sortie -> Quitter et masquant les boutons de minimisation, maximisez et fermez). < / p>

Si ce type d'intégration n'est pas possible à l'intérieur de l'application Java, j'en voudrais ouvrir le processus à l'aide de Java et sur la surveillance pour la garder ouverte. Il aurait besoin de garder la fenêtre définie sur "Toujours sur le dessus" car l'application n ° 1 est en plein écran et masquer autant que possible l'UI de MS Windows externe pour tromper l'utilisateur en pensant que ce n'est pas une application externe. Existe-t-il une sorte de méthode si vous utilisez JNI ou autre chose pour gérer une autre fenêtre de processus (emplacement de l'écran, barre de titre, minimiser, optimiser, fermer la visibilité du bouton) et l'état de processus de l'intérieur de mon application Java?

Je serai heureux de fournir plus d'informations si nécessaire.

Était-ce utile?

La solution

Le schéma suivant est indépendant de la langue, j'ai réussi à incorporer une fenêtre IE dans une application rubis de cette façon:

  • Tout d'abord, changez le style de la fenêtre d'application externe (vous pouvez utiliser JNA pour appeler Winapi):

    style= getwindowlongptr (app_hwnd, gwl_style);

    style |= ws_child;

    style &= ~ ws_caption;

    style &= ~ ws_popup;

    SETWINDOWLOGPTR (HWND, GWL_STYLE, Style);

  • Définissez la relation parent-enfant entre Windows:

    Separent (app_hwnd, java_hwnd);

  • Écoutez déplacer / redimensionner des événements de votre fenêtre Java et appliquez de nouvelles positions sur une fenêtre enfant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top