[VB] Problème de localisation de fichier

[Résolu/Fermé]
Signaler
Messages postés
16
Date d'inscription
lundi 9 juillet 2012
Statut
Membre
Dernière intervention
28 avril 2013
-
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
-
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

5 réponses

Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
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)
Messages postés
16
Date d'inscription
lundi 9 juillet 2012
Statut
Membre
Dernière intervention
28 avril 2013

Non toujours pas...
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
Essaie avec ceci:
Shell(Application.StartupPath & "\Res\Res.exe", AppWinStyle.NormalFocus)
Messages postés
16
Date d'inscription
lundi 9 juillet 2012
Statut
Membre
Dernière intervention
28 avril 2013

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)
Messages postés
16
Date d'inscription
lundi 9 juillet 2012
Statut
Membre
Dernière intervention
28 avril 2013

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
...
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
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 !
Messages postés
16
Date d'inscription
lundi 9 juillet 2012
Statut
Membre
Dernière intervention
28 avril 2013

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.
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
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é !
Messages postés
16
Date d'inscription
lundi 9 juillet 2012
Statut
Membre
Dernière intervention
28 avril 2013

Moi ça me dir "Une exception non gérée du type 'System.IO.FileNotFoundException' s'est produite dans Microsoft.VisualBasic.dll..." Mais bon c'est pas grave laisse tomber, merci pour ton aide quand même
Bonne fin de soirée
RoiBoo17
Messages postés
16
Date d'inscription
lundi 9 juillet 2012
Statut
Membre
Dernière intervention
28 avril 2013

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
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
Bonjour RoiBoo17,
Désolé de n'avoir pu t'aider mais heureux que tu aie trouvé la solution.
Bonne programmation.