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

Windows Forms Discussion :

Appeler des ressources [Débutant]


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 10
    Points : 2
    Points
    2
    Par défaut Appeler des ressources
    Bonjour,

    Je viens de créé mon premier .exe en vb dans lequel je fais appel a des script powershell ou des .bat (les script sont pour l'instant en ressource externe sur un serveur).

    Mon petit exécutable fonctionne super bien mais je souhaiterai intégrer tous mes scripts dans le .exe grace aux ressources afin d'éviter tous soucis et pour plus de simplicité.

    La première étapes est d'ajouté les ressources donc jusqu’à la pas de soucis.

    Mais ma question est: Comment fais-ton pour les appeler???



    Merci d'avance
    Flo

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 78
    Points
    78
    Par défaut
    Salut,

    Voici une manière simple de faire :



    • Ajouter le fichier script en utilisant Resources.resx
    • Créer un fichier temporaire représentant la ressource et l'exécuter :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string path = Path.Combine(Path.GetTempPath(), "monScript.bat");
    File.WriteAllText(path, Properties.Resources.monScript);
    Process.Start(path);
    En espérant avoir aidé

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Salut Cryptark,

    Malheureusement je débute vraiment et je ne parviens pas a faire marcher ton exemple.
    Peux-tu être plus précis ou m'indiquer un tuto déjà existant.

    Merci d'avance
    Désolé

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 78
    Points
    78
    Par défaut
    Dans les propriétés de ton projet (Clic droit sur le projet -> Propriétés), tu as une section "Ressources" dans laquelle tu peux ajouter des fichiers existant en l’occurrence, tes scripts. Lors de la compilation, tes scripts ne seront pas copiés dans le répertoire de sortie.

    On va imaginer que tu ajoute un script "script.bat" dans les ressources de ton projet. Une fois ceci fait, tu peux accéder au contenu de celui-ci depuis l'instruction : My.Resources.script dont la propriété "script" correspond au fichier dans les ressources.

    Ensuite lors de l'événement de clic sur un bouton par exemple, tu peux exécuter le code suivant que j'ai pris soin de te commenter (cette fois en VB ) :

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ' Permet de créer une chaine de caractère correspondant à un fichier script.bat dans le dossier temporaire
    ' de l'utilisateur courant
    Dim path As String = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "script.bat")
     
    ' Ecrit le contenu de la ressource "script" dans un nouveau fichier (créé s'il n'existe pas, remplacé s'il existe)
    File.WriteAllText(path, My.Resources.script)
     
    ' Ouvre le fichier bat avec le programme par défaut
    Process.Start(path)

    En espérant avoir été plus clair

  5. #5
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Voici mon erreur :

    Nom : erreur.png
Affichages : 504
Taille : 47,9 Ko

    Je ne sais pas comment faire?

    Merci

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 78
    Points
    78
    Par défaut
    La classe File appartient au namespace System.IO. Tu dois donc effectuer un import de ce namespace pour que ça fonctionne.

    Si tu dois régulièrement faire des programmes en .NET je te conseille de te documenter un peu sur le sujet. Tu as à ta disposition des cours sur developpez.net et énormément d'autres ressources sur Internet.

    Bonne soirée

  7. #7
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Parfait merci

    Cela fonctionne super bien avec les .bat mais j'ai essayé avec des scripts powershell et ça marche pas. (script.ps1)

    As-tu une idée?

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 78
    Points
    78
    Par défaut
    Le fichier .ps1 n'est pas reconnu comme un fichier texte par les ressources du projet. Du coup, pour un fichier PowerShell il faut utiliser la méthode :

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    File.WriteAllBytes(path, My.Resources.script)
    Si tu veux l'ouvrir dans une console PowerShell tu peux faire quelque chose comme :

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    Process.Start("powershell", path)

  9. #9
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Salut Cryptark,

    Merci ça marche

    Bonne journée
    A+

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

Discussions similaires

  1. Merci de nous aider à créer des ressources (FAQ et sources)
    Par Community Management dans le forum Evolutions du club
    Réponses: 29
    Dernier message: 19/10/2015, 00h35
  2. Réponses: 0
    Dernier message: 02/04/2011, 20h22
  3. Appel des ressources d'une librairie statique
    Par Gerard29 dans le forum VC++ .NET
    Réponses: 0
    Dernier message: 17/03/2009, 17h21
  4. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33
  5. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01

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