Ouvir lors d'un clic un exe situé dans les ressources du programme [Résolu]

Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
- - Dernière réponse : cs_aus3004
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
- 1 mai 2010 à 20:18
Bonjour,

Je crée en ce moment un navigateur Internet, celui-ci dispose de micro-application (traducteur, dictionnaire, infos...) sous forme d'executable.

Le problème c'est que je ne sais pas comment ouvrir ces applications situées dans les ressources du programmes lorsque l'utilisateur clique sur un bouton.
Avant j'utilisais Shell("C:\MonExe") mais MonExe était indépendant du navigateur donc ce n'est pas ce que je cherche pas car il faut que ces micro-applications soient implantées dans les ressources du programme.

CECI EST STRICTEMENT URGENT
Si vous avez une idée, soyez simpat de partager car je dois résoudre ce problème au plus vite.

Merci
@+
Afficher la suite 

11 réponses

Meilleure réponse
Messages postés
6345
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 novembre 2019
88
3
Merci
Je viens d'essayer et cela fonctionne en VB.Net.
Cliquer sur My Project,Resources,Ajouter une ressource, Ajouter un fichier existant et sélectionnez votre exe. Ensuite cliquez sur l'exe dans l'explorateur de solution et Copier dans le répertoire de sortie: Toujours copier.
Ensuite mettre la Function:
Public Function OpenFile(ByRef File As String, Optional ByRef Parametres As String = "") As Object
Process.Start(File)
OpenFile = 1
End Function
et maintenant mettez un bouton pour essayer avec ce code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim file As String
file = Application.StartupPath
Try
'Ouvre le fichier dans son programme par défaut
OpenFile(file & "\Resources\Ping.exe") 'chemin du fichier
Catch ex As Exception
End Try
End Sub
Excusez pour les détails mais c'est exactement ce que j'ai fait et ça fonctionne en VB.Net. Si cela fonctionne comme cela il faudra regarder du côté de votre PingToolStripMenuItem
@ +Le Pivert

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 212 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Le Pivert
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
3
Merci
J'ai déplacé le fichier exe dans le dossier "Ressourcs" et ça marche parfaitement !!!!!!

Une toute dernière question : est ce que votre code permet aussi d'appeler un fichier texte ??

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 212 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_aus3004
Messages postés
6345
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 novembre 2019
88
0
Merci
Bonjour,
J'ai déjà répondu à cette question dans un précédent message:
http://www.vbfrance.com/forum/sujet-PROBLEME-DEMARRAGE-FICHIER-VB-NET-2008_1427549.aspx

Il faut mettre vos exe dans le dossier "Resources" Ensuite suivre les instructions ci-dessous:
Tout d'abord il faut sélectionner "Votre.exe" et dans la fenetre: propriétés en bas à droite cliquez sur:
Copier dans le répertoire de sortie: Toujours copier.
Ensuite mettre ce code:
Public Function OpenFile(ByRef File As String, Optional ByRef Parametres As String = "") As Object
Process.Start(File)
OpenFile = 1
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim file As String
file = Application.StartupPath
Try
'Ouvre le fichier dans son programme par défaut
OpenFile(file & "\Resources\Votre.exe") 'chemin du fichier
Catch ex As Exception
End Try
End Sub
@+
Commenter la réponse de cs_Le Pivert
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
0
Merci
Merci pour votre réponse rapide.
J'ai bien séléctionné "Toujours copier" et j'ai intégré votre code dans mon projet.
Mais lorsque je clique sur PingToolStripMenuItem rien ne se passe !!!!!!
Votre code adapté à ma solution est le suivant :

Public Function OpenFile(ByRef File As String, Optional ByRef Parametres As String = "") As Object
Process.Start(File)
OpenFile = 1
End Function
Private Sub PingToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PingToolStripMenuItem.Click
Dim file As String
file = Application.StartupPath
Try
'Ouvre le fichier dans son programme par défaut
OpenFile(file & "\Resources\Ping.exe") 'chemin du fichier
Catch ex As Exception
End Try
End Sub
Commenter la réponse de cs_aus3004
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
0
Merci
J'ai réessayé à nouveau : sans succès
Comme la résolution de cette dificulté est extremement important pour mon projet, j'ai pris une vidéo (façon screenshot) de toutes vos indications jusqu'au blocage.

Téléchargez l'archive qui contient la vidéo ici :
http://files.regies-publicitaires.webnode.com/200000067-ac8f3ad890/clip0001.rar
Et faites-moi part de vos suggestions.

Merci encore, Le Pivert
(Pour la sécurité de mon projet la vidéo sera supprimée prochainement)
Commenter la réponse de cs_aus3004
Messages postés
6345
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 novembre 2019
88
0
Merci
Malheureusement votre clip video est inexploitable!
Je vous conseille donc d'ouvrir à titre d'essai un nouveau projet en faisant textuellement ce que j'ai dit et vous pourrez voir à ce moment là le problème par rapport à votre projet initial. Quitte à prendre un autre fichier exe, car je vous assure que cela fonctionne très bien en VB2005 ou VB2008
à+ Le Pivert
Commenter la réponse de cs_Le Pivert
Messages postés
6345
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 novembre 2019
88
0
Merci
J'ai réussi à lire la video, il me semble que votre exe est après le Form3 et c'est là que se situe le problème.
Allez voir ce message il y a une capture d'écran qui montre l'emplacement exact de l'exe.
http://www.vbfrance.com/forum/sujet-PROBLEME-DEMARRAGE-FICHIER-VB-NET-2008_1427549.aspx
Je pense que cela va résoudre votre problème.
@+
Commenter la réponse de cs_Le Pivert
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
0
Merci
Je vous affirme que la vidéo fonctionne très bien :

1. Lien pour télécharger l'archive qui contient la vidéo

2. Après vous décompressez l'archive avec Winrar par exemple.

3. Puis vous ouvrez la vidéo qui est au format avi.

4. Et pour terminer vous valider votre réponse au problème ici ;)
Commenter la réponse de cs_aus3004
Messages postés
6345
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 novembre 2019
88
0
Merci
Oui la video fonctionne bien mais c'était la qualité de l'image. J'ai mis en plein écran et c'est là que j'ai pu voir le problème.
Oui ce code ouvre tous les fichiers il faut simplement changer la ligne:
file = Application.StartupPath
par
file = "chemin du fichier"' mettre le chemin du fichier
Content que ce code ait pu vous rendre service
@+ Le Pivert
Commenter la réponse de cs_Le Pivert
Messages postés
6345
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 novembre 2019
88
0
Merci
Comme cela
Dim file As String
file = "chemin du fichier"' mettre le chemin du fichier
Try
'Ouvre le fichier dans son programme par défaut
OpenFile(file) 'chemin du fichier
Catch ex As Exception
End Try
Commenter la réponse de cs_Le Pivert
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
0
Merci
Je vous remercie pour vos explications simples et claires, mais pour exploiter un fichier texte dans mon projet cela sera plus compliqué, car mon code est complexe.

Si vous avez le temps, jetez un coup d'oeil ici

Merci et à bientôt !
Commenter la réponse de cs_aus3004