[VB] Problème de localisation de fichier

Résolu/Fermé
RoiBoo17 Messages postés 16 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 28 avril 2013 - 2 nov. 2012 à 15:07
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 - 3 nov. 2012 à 13:08
Bonjour,
J'ai programmé un utilitaire pour modifier le fichier hosts comme le veut l'utilisateur... Enfin bref, j'ai eu besoin d'une sous-application que j'ai programmée en batch, puis ramenée en exécutable. Et je l'ai mis dans un dossier nommé Res et Res se trouve dans le même dossier que mon application. Mon code est le suivant :

 Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        MsgBox("Restaurer le fichier host éffacera toutes les modifiquations éffectuées ! Êtes-vous sure de vouloir continuer ?", vbYesNo, "Attention")
        
            If MsgBoxResult.Yes Then
            Shell("\Res\Res.exe", AppWinStyle.NormalFocus)


        End If

    End Sub 

Et là il me dit "Fichier introuvable", je me suis posé la question dans tous les sens que j'ai pu, et j'ai essayé avec le chemain complet
Shell("C:\Users\X\Documents\Visual Studio 2012\Projects\Gérer le fichier host\Gérer le fichier host\bin\Debug\Res\Res.exe", AppWinStyle.NormalFocus

Et il me dit la même chose ! J'ai vérifié l'extension, le nom, et tout est bon (sauf mon code bien-sûr, sinon il fonctionnerait...)

Merci d'avance
Roi Boo17

A voir également:

5 réponses

Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
2 nov. 2012 à 16:01
Essaie avec :
- deux points : Shell("..\Res\Res.exe", AppWinStyle.NormalFocus)
- inverser les Backslash : Shell("/Res/Res.exe", AppWinStyle.NormalFocus)
- inverser les Backslash et les deux points : Shell("../Res/Res.exe", AppWinStyle.NormalFocus)
0
RoiBoo17 Messages postés 16 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 28 avril 2013
2 nov. 2012 à 16:42
Non toujours pas...
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
2 nov. 2012 à 19:09
Essaie avec ceci:
Shell(Application.StartupPath & "\Res\Res.exe", AppWinStyle.NormalFocus)
0
RoiBoo17 Messages postés 16 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 28 avril 2013
Modifié par RoiBoo17 le 2/11/2012 à 20:38
C'est incroyable, toujours pas j'ai même enlevé la condition (if ...) Mais non, j'ai changé les noms, et toujours pas... Il me dit la même chose à savoir http://imagik.fr/view-rl/5034

EDIT : J'ai même fait ça :
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click  
        Dim Start As String  
        Start = Application.StartupPath & "\hostpara\rest.exe"  
        MsgBox(Start)  

    End Sub  

Et là tout était bon ! Je ne comprends vraiment rien.

EDIT 2 : J'ai réussi en faisant passer la commande par le cmd, mais ça ne fonctionne pas car mon chemin de fichier comporte des espaces mais quand je le fait passer par mon bureau, tout va pour le mieux... Cependant cette erreur me bloque bcp...
Shell("cmd.exe /c " & "start " & Start, 1)
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
2 nov. 2012 à 21:00
Cav ,, va, ca va pas. Je ne comprends rien.
Expliques-moi clairement la situation, stp !
Quand tu as fait
Shell(Application.StartupPath & "\Res\Res.exe", AppWinStyle.NormalFocus)
Est-ce que cela a fonctionner ? Car chez moi, NO PROBLEM !
0
RoiBoo17 Messages postés 16 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 28 avril 2013
2 nov. 2012 à 21:03
Moi non. Mais si je transfère les fichiers dans mon bureau, là c'est bon car de le chemin il n'y a pas d'espace ! Voici mon chemin :
C:\Users\antoi_000\Documents\Visual Studio 2012\Projects\Gérer le fichier host\Gérer le fichier host\bin\Debug\hostpara\rest.exe
...
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
2 nov. 2012 à 21:34
C'est la dernière fois que je te pose la question:
As-tu essayé ceci :
Shell(Application.StartupPath & "\Res\Res.exe", AppWinStyle.NormalFocus)
Car chez moi, avec ou sans espace, cela fonctionne parfaitement !
0
RoiBoo17 Messages postés 16 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 28 avril 2013
2 nov. 2012 à 21:41
Tu m'as dit, je cite : "Est-ce que cela a fonctionner ? Car chez moi, NO PROBLEM !", j'ai répondu "Moi non." (réponse pas très française je te l'accorde). Je te dis pourquoi ça ne fonctionne pas : "DANS LE CHEMIN OU IL Y A MA COMPILATION IL Y A DES ESPACES, ET ÇA LE FAIT PLANTER"... Chez toi, tu ne dois pas avoir d'ESPACE dans le chemin de ta compilation.
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
2 nov. 2012 à 21:46
Cela fait deux fois que je te dit que cela fonctionne, je te précise même que j'ai exprèsajouté des espaces dans les noms de dossiers, et que cela fonctionne toujours aussi bien, alors je ne comprends pas !
Désolé !
0

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

Posez votre question
RoiBoo17 Messages postés 16 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 28 avril 2013
Modifié par RoiBoo17 le 3/11/2012 à 12:35
J'ai trouvé la solution au cas où ça t'intéresse voilà le script qui fonctionne :
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 
        Dim Start As String 
        Start = "Res\Res.exe" 
        Shell("cmd.exe /k " & Start, 1) 

    End Sub
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
3 nov. 2012 à 13:08
Bonjour RoiBoo17,
Désolé de n'avoir pu t'aider mais heureux que tu aie trouvé la solution.
Bonne programmation.
0