IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Call shell et my.settings


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2008
    Messages : 150
    Points : 89
    Points
    89
    Par défaut Call shell et my.settings
    Bonsoir!!!

    Je fait appel à un fichier bat, qui se trouve dans un répertoire qui est en mémoire dans My.settings:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If RB_408lisse.Checked = True Then
                Call Shell(My.Settings.Diruser("_Switch-408_No_Mods.bat"))
            Else
            End If
    Et il me balance une erreur:
    Une exception de première chance de type 'System.InvalidCastException' s'est produite dans Microsoft.VisualBasic.dll
    Pourquoi ca ne fonctionne pas?

    Merci d'avance!

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Tu utilises My.Settings.Diruser comme si c'était une fonction, alors qu'a priori c'est une chaine de caractères... pour construire un chemin d'accès à partir d'un répertoire et d'un nom de fichier, on utilise habituellement Path.Combine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim path As String = Path.Combine(My.Settings.Diruser, "_Switch-408_No_Mods.bat")
    Shell(path)

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2008
    Messages : 150
    Points : 89
    Points
    89
    Par défaut
    Merci beaucoup!!! Je pense que je n'aurais pas trouvé même en cherchant...

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    n'oublie pas le tag

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2008
    Messages : 150
    Points : 89
    Points
    89
    Par défaut
    Bonsoir!!

    J'ai utilisé le combine pour le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If CB_Fumée.Checked Then
                    Ancien = IO.Path.Combine(My.Settings.Diruser, "-3rdeye_SmokeFire_Effects lower resolution")
                    Nouveau = IO.Path.Combine(My.Settings.Diruser, "3rdeye_SmokeFire_Effects lower resolution")
                    Rename(Ancien, Nouveau)
    Une erreur s'affiche et me dit:
    Une exception de première chance de type 'System.IO.FileNotFoundException' s'est produite dans Microsoft.VisualBasic.dll
    Vous auriez une idée?

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2008
    Messages : 150
    Points : 89
    Points
    89
    Par défaut
    J'ai trouvé

    C'est tout simplement parceque dans mon Diruser, il y a un dossier MODS dans lequel se trouvent mes dossiers à renommer....

    Y a il un moyen simple de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ancien = IO.Path.Combine(My.Settings.Diruser/MODS, "-3rdeye_SmokeFire_Effects lower resolution")
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IO.File.Exists(My.Settings.Diruser/MODS & "3rdeye_SmokeFire_Effects lower resolution")
    En fait spécifier qu'on va travailler dans diruser, ET dans MODS.

    Merci d'avance!!

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ancien = IO.Path.Combine(My.Settings.Diruser, "/MODS/-3rdeye_SmokeFire_Effects lower resolution")

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2008
    Messages : 150
    Points : 89
    Points
    89
    Par défaut
    Merci!!! Je cherchait pas au bon endroit en fait!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] Couldn't call Doctrine_Core::set()
    Par etoileweb dans le forum Symfony
    Réponses: 6
    Dernier message: 23/10/2010, 18h34
  2. Réponses: 10
    Dernier message: 16/02/2009, 18h56
  3. Réponses: 3
    Dernier message: 06/05/2008, 20h43
  4. Deux questions sur "Call Shell"
    Par maban dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/08/2007, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo