Insérer un .exe dans visual basic 2008

[Résolu]
Signaler
Messages postés
15
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
16 décembre 2011
-
Messages postés
15
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
16 décembre 2011
-
bonjour a tous
voila je suis nouveau dans la "programmation" et je suis bloqué par un petit detail...
j'ai créé une petite application dans la quelle j'aimerais inserer une petite application .exe (c'est juste un.exe, pas de d'autre fichier).
je ne c'est pas si cela est possible?
si oui comment peut t'on faire?
merci d'avance

13 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
en fait je voudrait le choix 2, que mon app se lance dans le form du programme que je "crée"

Extrais-en le handle (dès l'exe en cause lancé), puis la fonction SetParent de l'Api de Windows, pour que la fenêtre de l'exe soit dans ton Form.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
T'expliquer, je veux bien, mais écrire ton code, non.
la fonction setparent de l'api de Windows te permet de déclarer ta propre application comme parente de la fenêtre de ton exe.
Elle est définie I C I
Elle attend deux paramètres : le handle de ton form et celui de la fenêtre de l'exe que tu appelles.


Tu connais le handle de ton Form
Te manque celui de l'autre fenêtre ! pour y parvenir, il te faut utiliser une autre fonction de l'API de Windows : la fonction FindWindow, que tu trouveras exposée I C I. Tu pourras notamment y parvenir si tu connais le titre exact de la fenêtre de ton exe (celui qui apparaît dans sa barre de titre).

Tu pourrais à ce propos consulter le site de ALLAPI , où tu trouveras beaucoup plus de détails sur ces deux fonctions, ainsi que des exemples d'utilisation. Ces derniers sont les mêmes sous CVB6 et sous VB.Net, à la différence près que, sous VB.Net, tous les types (tant ceux des fonctions que ceux des paramètres passés) doivent être typés en Integer (et non en long, comme sous VB6)
Voilà ! tu as là tout ce qu'il te faut pour y parvenir, pour autant que tout cela ne te paraisse pas du chinois (car si oui ===>> mieux vaudra alors laisser tomber).
Bonne étude.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
14825
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 octobre 2021
157
Bonjour,

Pour ajouter un fichier dans un Exe, regardes du coté des ressources.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Messages postés
200
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
28 septembre 2014

Bonjour,

Pour ajouter une ressource existante :

1.Avec un projet sélectionné dans l'Explorateur de solutions, faites clique droit sur votre Projet puis cliquez sur Propriétés du menu contextuel.
2.Sélectionnez l'onglet Ressources.
3.Sur la barre d'outils du Concepteur de ressources, pointez sur Ajouter une ressource, cliquez sur la flèche, puis cliquez sur Ajouter un fichier existant.
4.Dans le fichier existant pour Ajouter la boîte de dialogue les ressources, naviguer vers le fichier contenant la ressource à laquelle vous souhaitez ajouter (. Bmp,. Ico,. Wav, etc), puis cliquez sur Ouvrir.
Le fichier sera ajouté au répertoire des ressources, et le Concepteur de ressources va ouvrir le volet de catégorie pour le type de ressource que vous avez ajoutés.
5.Pour les ressources du fichier, vous pouvez éventuellement définir le codage et les propriétés FileType pour le fichier dans la fenêtre Propriétés.

(Traduit du msdn anglais : http://msdn.microsoft.com/en-us/library/3bka19x4(v=vs.80).aspx )

Bonne programmation !!!
Gabi
lach...
Messages postés
15
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
16 décembre 2011

merci a vous!
mais je seche toujours... j'ai bien mon fichier . exe qui est sur la droite dans "explorateur de solution---ressource"
si je fait un double clic dessus, ca me marque "impossible d'explorer les composants suivant"
et je ne voit pas comment je peux ajouter mon .exe dans mon application sous vb...
le seul truc que j'ai reussi a faire, c'est creer un boutton qui lance l'application mais dans une fenetre a part

voici le bout de code
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim p As Process
p = Process.Start("C:\Users\ben\Desktop\K8055DemoVB_2008\K8055Demo\Resources\firmata_test.exe")
p.WaitForInputIdle()
End Sub
Messages postés
200
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
28 septembre 2014

Bonjour,

Je n'est pas très bien compris , au choix :

1.Tu voudrait que sa ferme ta form vb tout en laissant le programme que tu a lancé auparavant ouvert ?
2.Tu veut que ton application se lance dans la form de ton programme ( Mais je ne crois pas que ce soit possible )
3.Tu voudrais lancer le programme depuis ta ressource.
4.Ou alors je n'est rien compris !

Bonne programmation !!!
Gabi
lach...
Messages postés
15
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
16 décembre 2011

je dois mal m'expliqué, excuse moi
en fait je voudrait le choix 2, que mon app se lance dans le form du programme que je "crée"
par contre si tu peux m'expliquer le cas 3, ca me dirait bien de comprendre
Messages postés
200
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
28 septembre 2014

Bonjour,

Pour le choix deux je n'est aucune idée de comment le faire , mais sinon si tu veut lancer une application depuis une de tes ressources, il faut faire sa :

 My.Computer.FileSystem.WriteAllBytes("nomdetaressource.exe", My.Resources.taressource, False)
        Shell("nomdetaressource.exe")


Enfaite se code va réecrire le programme dans le répertoire que tu aura désigner ( "nomdetaressource.exe" = même dossier que ton application vb )

Après pour le choix deux je suis larger désoler !

Bonne programmation !!!
Gabi
lach...
Messages postés
15
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
16 décembre 2011

merci beaucoup de vos reponses!!!
ucfoutu, tu pourrait detaillé un peuparceque je suis largué
Gabilachn, je vais essayé ca voir ce que ca donne, je ne connaissé pas
Messages postés
15
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
16 décembre 2011

un petit up
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Sur lequel de ces deux points butes-tu donc ?
1) - extraire le handle de la fenêtre de ton exe ?
ou
2) - utiliser SetParent ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
15
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
16 décembre 2011

je bute totalement sur les deux
si tu pouvait m'expliquer je t'en serait extrêmement reconnaissant
Messages postés
15
Date d'inscription
lundi 3 octobre 2011
Statut
Membre
Dernière intervention
16 décembre 2011

merci beaucoup
mais je suis largué, je n'y arrive pas...
je vais essayé autre chose je vous tient au jus