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

Silverlight Discussion :

Récupérer liste de disques


Sujet :

Silverlight

  1. #1
    Membre confirmé
    Profil pro
    Développeur en alternance
    Inscrit en
    Février 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur en alternance

    Informations forums :
    Inscription : Février 2011
    Messages : 107
    Par défaut Récupérer liste de disques
    Bonjour à tous,

    Je souhaiterais récupérer une liste de disques. Pour cela, j'ai créé la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    private List<string> GetDrives()
            {
                dynamic fileSystem = AutomationFactory.GetObject("Scripting.FileSystemObject");
                dynamic drives = fileSystem.Drives;
     
                List<string> lstDrives = new List<string>();
     
                foreach (var drive in drives)
                {
                        lstDrives.Add(drive);                            
                }
                return lstDrives;
            }
    Tout ce que j'obtiens, c'est une exception à cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dynamic fileSystem = AutomationFactory.GetObject("Scripting.FileSystemObject");
    Message d'erreur :
    Cette opération n'est pas prise en charge dans le contexte actuel.
    J'ai fais quelques recherches sur le net. Mais sans réel succès. Je suis à court d'idée et un peu d'aide ne serait pas de refus.

    Merci et bonne journée.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Par défaut
    Question bête: ton application est-elle bien en "trusted"? (elevation de privilège)
    Parce qu'il faut qu'elle le soit...

    C'est bien de protéger ton appel par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (AutomationFactory.IsAvailable)
    {
        dynamic fileSystem = AutomationFactory.GetObject("Scripting.FileSystemObject");
        dynamic drives = fileSystem.Drives;
        //[....]
    }
    else
    {
        throw new Exception("Automation n'est pas disponible");
    }

  3. #3
    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 : 43
    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
    Par défaut
    Euh, tu ne te compliquerais pas un peu la vie par hasard ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DriveInfo[] drives = DriveInfo.GetDrives();

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Par défaut
    Je crois qu'en Silverlight il n'y a pas de DriveInfo...

  5. #5
    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 : 43
    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
    Par défaut
    Citation Envoyé par chrisdot Voir le message
    Je crois qu'en Silverlight il n'y a pas de DriveInfo...
    Ah oui effectivement, j'avais pas vu qu'il s'agissait de Silverlight...

  6. #6
    Membre confirmé
    Profil pro
    Développeur en alternance
    Inscrit en
    Février 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur en alternance

    Informations forums :
    Inscription : Février 2011
    Messages : 107
    Par défaut
    Bonjour,

    Question bête: ton application est-elle bien en "trusted"? (elevation de privilège)
    Effectivement je n'y avais pas pensé! De plus merci pour le code proposé.

    Encore merci à vous deux .

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/04/2006, 10h31
  2. Réponses: 9
    Dernier message: 19/03/2006, 13h49
  3. Liste des disques
    Par wbagg2 dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2005, 01h55
  4. Réponses: 3
    Dernier message: 09/01/2004, 14h37
  5. Récupèrer la liste des disques durs
    Par Tililian dans le forum C++Builder
    Réponses: 4
    Dernier message: 19/06/2003, 12h42

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