sachie
Messages postés93Date d'inscriptionjeudi 7 juin 2007StatutMembreDernière intervention16 septembre 2010
-
15 mai 2008 à 14:26
cs_niky
Messages postés168Date d'inscriptionjeudi 28 juin 2001StatutMembreDernière intervention18 octobre 2008
-
17 mai 2008 à 22:49
Bonjour j'ai beau chercher et je ne trouves bizarrement rien là dessus!
Je cherche à savoir s'il est possible d'ouvrir une application dans un form.
Un peu comme ouvrir une page web dans un webbrowser!
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 15 mai 2008 à 14:30
ce que tu veux faire implique que ton process doit accéder a l'espace mémoire (protégé) d'un autre process. cest donc impossible. cependant, tu peux faire ca si l'application en question obéit au modèle activeX. dans ce cas il suffit de créer une instance de l'activeX dans ton formulaire, auquel cas tu reste dans ton process (et cest comme simplement appeler des fonctions d'une dll). A voir en fonction de l'application concernée. est ce une application custom qui peut devenir un activeX? est une application dont tu n'as pas le source? si cest le cas exporte-t-elle les bonnes méthodes?
sachie
Messages postés93Date d'inscriptionjeudi 7 juin 2007StatutMembreDernière intervention16 septembre 20102 15 mai 2008 à 14:46
En fait je voudrais pouvoir y placer CorelDRAW, j'ai réussi à faire en sorte de modifier certains textes, mais pour une manipulation plus agréable je voudrais faire en sorte de placer coreldraw "dans" mon form pour éviter d'avoir deux fenêtres ,une pour corel et l'autre pour mon appli c#!
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 16 mai 2008 à 10:56
eh bien regarde si ton appli est disponible en tant qu'activeX. si oui, ce que tu veux faire est possible. si non, tu ne pourras pas faire ce que tu veux de la manière que tu décris
Par défaut, lorsqu'on charge une appli, sa fenêtre a comme fenêtre parente le bureau Windows (qui possède le handle 0). Pour placer la fenêtre d'une appli dans un formulaire, il faut récupérer son handle. Il existe plusieurs API pour faire cela :
- GetWindow : http://msdn.microsoft.com/en-us/library/ms633515(VS.85).aspx - FindWindow : http://msdn.microsoft.com/en-us/library/ms633515(VS.85).aspx Une fois qu'on a obtenu le handle de la fenêtre, on peut la placer dans notre formulaire avec
SetParent(handleCorelDraw, form1.Handle);
Bien sûr, toutes ces API sont normalement destinées à être utilisées avec en C et nécessitent de passer par l'interop en C#.