2010-08-31 21 views
1

Est-il possible d'héberger/incorporer/reparent a normal Windows Application dans une page Web chargée dans Internet Explorer sur notre intranet? J'aimerais que l'utilisateur appuie sur un bouton de notre site intranet et que l'application Windows démarre et ressemble à l'intérieur de notre application, comme si elle était «encadrée». Je crois qu'il est possible de le faire avec Windows applications that reparent other applications. Je suis heureux d'élever les autorisations, d'utiliser des sites de confiance, d'en faire un HTA, et/ou de changer le registre sur la machine client si nécessaire car nous avons un contrôle total sur les machines de notre intranet. Cela ne doit également fonctionner que sur Internet Explorer.Embarquer ou reparer une application Windows dans Internet Explorer

+0

Qu'entendez-vous exactement par "embed/reparent"? –

+0

mise à jour question que info –

+0

Peut-être que vous voulez un serveur terminal? –

Répondre

2

Pour utiliser ActiveX, vous devez modifier l'application à rendre à un autre handle de fenêtre. Dans quelle langue votre application cible est-elle écrite?

Vous devez modifier votre application pour qu'elle puisse être appelée avec certains paramètres ou en tant que DLL avec un handle de fenêtre (un d'Internet Explorer) en tant que paramètre. Votre application au lieu de créer sa propre fenêtre a besoin d'utiliser le handle de fenêtre à partir d'ie pour rendre. Ensuite, vous devez implémenter un objet ActiveX simple qui ne fait rien que d'instancier votre application avec les arguments appropriés.

+0

L'application cible est C++. –

+0

et l'interface graphique utilise la bibliothèque Qt –

+1

@matthew Je l'ai fait une fois avec QT - via la solution QT-MFC j'ai obtenu l'application à rendre sur un hWnd natif (un de Windows Explorer). Pour ce projet, je recommanderais ActiveQT. Vous pouvez jeter un oeil à l'exemple simple (X: \ Qt \ 2010.04 \ qt \ examples \ activeqt \ simple). Cela vous donne un contrôle qui peut être directement instancié dans le navigateur. Cela pourrait utiliser le "main-control" de votre application (si votre application est disponible en tant que dll). –

2

On dirait que vous voulez écrire un contrôle ActiveX.

+0

Je me demande si je pourrais obtenir un contrôle ActiveX pour démarrer et réparer une application Windows? –

+0

Il existe une DLL ActiveX Remote Desktop. Je ne peux pas me souvenir du nom, mais regarde autour de moi. Il s'agit essentiellement d'un client RD qui peut être intégré dans votre propre application. – ProfK

0

J'ai entendu parler de l'intégration des winforms dans wpf, bien que je ne l'aie jamais fait, affirme this code project article.