Ouvir lors d'un clic un exe situé dans les ressources du programme

Résolu
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 - 1 mai 2010 à 11:53
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
@+

11 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
1 mai 2010 à 13:42
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
3
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
1 mai 2010 à 18:34
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 ??
3
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
1 mai 2010 à 12:10
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
@+
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
1 mai 2010 à 12:54
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
1 mai 2010 à 14:22
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)
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
1 mai 2010 à 18:11
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
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
1 mai 2010 à 18:24
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.
@+
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
1 mai 2010 à 18:27
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 ;)
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
1 mai 2010 à 18:47
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
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
1 mai 2010 à 18:49
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
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
1 mai 2010 à 20:18
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 !
0
Rejoignez-nous