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

C# Discussion :

WMI Win32 Product


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut WMI Win32 Product
    Bonjour,

    J'ai le code suivant :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    ObjectQuery objQueryProduct = new ObjectQuery("SELECT Caption,Version,Vendor FROM Win32_Product");
                ManagementObjectSearcher objSearcherProduct = new ManagementObjectSearcher(mgmtscope, objQueryProduct);
     
                ManagementObjectCollection objGetCollectionProduct = objSearcherProduct.Get();
     
                foreach (ManagementObject obj in objGetCollectionProduct)
                {
                    if (obj["Caption"].ToString() != null)
                    {
                        ListViewItem item = new ListViewItem(obj["Caption"].ToString());
                        //item.SubItems.Add(obj["Version"].ToString());
                        item.SubItems.Add(obj["Vendor"].ToString());
                        lvPrograms.Items.Add(item);
                    }
     
                }

    Après quelques temps, je reçois ce message :
    Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation.


    Merci

  2. #2
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    tu peux modifier le timeout de ta requête

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     scope.Options.Timeout = new TimeSpan(0, 0, 2);

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    Merci pour la suggestion, mais j'ai toujours le même problème

  4. #4
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    WMI s'appuie fortement sur les pilotes pour retourner les informations d’où les fortes cas d'avoir des exceptions .

    le meilleur moyen de tester une requête WMI est avec l'utilitaire Créateur WMI Code

    Il vous permet d'exécuter des requêtes et de générer automatiquement le code C #.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2010
    Messages : 12
    Par défaut
    salut,

    si ton ManagementScope est correct,

    si ta requête WMI passe avec un outil comme ScriptomaticV2, c'est un souci d'interprétation de WMI par le .net, et pour les raisons qu'explique azstar, des fois, il faut 'contourner' un peu : je parie que ton erreur intervient finalement après l'obtention des données, auquel cas, il te faudra simplement faire de la gestion d'erreur.

    si ça passe pas dans Scriptomatic, là, souci windows : wmi explorer, et beaucoup de google...

    bon courage

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    Bonjour,

    Merci de votre aide.

    Voilà maintenant que la requête me retourne une série des produits installés mais après une dizaine je reçois ce message.

    Object reference not set an instance of an object
    De plus, lorsque la requête s'exécute, l'application attend de finir la requête avant de me redonner la main. Est-il possible d'afficher au fur et à mesure qu'une info est trouvée ?

    Merci

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. [Kylix] kylix3 ----> win32
    Par blue dans le forum EDI
    Réponses: 3
    Dernier message: 28/01/2003, 11h27
  3. gcc et win32
    Par MatRem dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 16/01/2003, 12h22
  4. [API win32] Récupérer le répertoire d'un profile
    Par sbeu dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 27/09/2002, 12h38
  5. convertir un nom long (win32) en format dos (8+3)
    Par kylekiller dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2002, 13h34

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