Pour les PROS: ShellExecute un EXE dans une fenetre VB....?
jockos
Messages postés321Date d'inscriptiondimanche 22 octobre 2000StatutMembreDernière intervention14 mai 2005
-
8 juil. 2002 à 10:56
jockos
Messages postés321Date d'inscriptiondimanche 22 octobre 2000StatutMembreDernière intervention14 mai 2005
-
8 juil. 2002 à 17:29
Est-ce que quelqu'un sait comment faire pour qu'un exécutable lancé par l'API shellExecute apparaisse
dans une fenetre VB ou apparaisse en tant que fenêtre fille de la MDI principale de mon prog VB?
Merci aux pros qui seront me répondre, parce que ça fait un bon bout de temps que je me prend la tête la dessus...
jockos
Messages postés321Date d'inscriptiondimanche 22 octobre 2000StatutMembreDernière intervention14 mai 20052 8 juil. 2002 à 12:32
Regarde le bout de code que j'ai mis et dis moi ce que tu en penses...
Je me demande si on peux encapsuler un objet externe à VB (en l'occurence un Exe) seulement en ayant son numéro de handle...
cs_processus
Messages postés360Date d'inscriptionvendredi 24 août 2001StatutMembreDernière intervention 9 juillet 20083 8 juil. 2002 à 13:05
T'es sûr que 'RunShellExecute()' te renvoie le bon handle ?
Sinon, fait un 'FindWindow()' sur le caption de la fenêtre, ou le nom de la classe plus puissant. Site Web de JDPROG
Présentation de MP3 Index
jockos
Messages postés321Date d'inscriptiondimanche 22 octobre 2000StatutMembreDernière intervention14 mai 20052 8 juil. 2002 à 14:07
Je vais essayer...
Je te tiens au courant...
Pour le nom de la classe, je ne vois pas comment l'identifier, car le WordView.exe n'est pas implémenter dans la Base des registres Windows au niveau du nom de sa classe... (genre, je ne peux pas faire de lien OLE avec WordView.exe, parce que je n'ai pas le nom de la classe dans la base des registres)... je vais essayer avec le Caption de la fenêtre WordView.exe, mais ça me semble perdu d'avance...
cs_processus
Messages postés360Date d'inscriptionvendredi 24 août 2001StatutMembreDernière intervention 9 juillet 20083 8 juil. 2002 à 15:36
Si, si, chaques contrôle Windows à un nom de classe !! Même si ce n'est pas un ActiveX (d'ailleurs sait tu que l'objet 'Form' lui même est un contrôle ? ;) ). Enfin voila, il te faut utiliser le 'ProcessViewer' pour déterminer le nom de classe de cette fenêtre.
Voili.
==============
Site Web de JDPROG
Présentation de MP3 Index
jockos
Messages postés321Date d'inscriptiondimanche 22 octobre 2000StatutMembreDernière intervention14 mai 20052 8 juil. 2002 à 17:29
Disons, que je sais que tous objet VB (Formulaire, bouton, text, variable...) est une instanciation d'un classe. Mais je ne savais pas que Windows fonctionnait avec des objets...
Donc, si je te comprends bien, chaque Fenetre Windows appartient à une classe... et c'est donc tout simplement un objet (une instanciation) de cette classe...
Donc, pour connaitre la classe d'un objet (d'une fenetre en l'occurrence), il faut que j'utilise le ProcessViewer...
Merci beaucoup du conseil, je ne connaissais pas le ProcessViewer et sa va être l'occasion de le découvrir...
JE vais pouvoir voir si mon problème venait bien d'un numéro de hwnd non valide ou si sa vient de la méthode API SetParent qui hélas ne peux gérer des fenetres VB et des fenetres Windows (externes à VB)...