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

Signaler
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
-
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
-
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
@+

11 réponses

Messages postés
6862
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
4 août 2020
109
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
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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 ??
Messages postés
6862
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
4 août 2020
109
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
@+
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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)
Messages postés
6862
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
4 août 2020
109
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
Messages postés
6862
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
4 août 2020
109
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.
@+
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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 ;)
Messages postés
6862
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
4 août 2020
109
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
Messages postés
6862
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
4 août 2020
109
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
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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 !