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

Python Discussion :

WMI, Python et Windows10


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Falenn
    Femme Profil pro
    Prise de tête
    Inscrit en
    Mars 2021
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Prise de tête

    Informations forums :
    Inscription : Mars 2021
    Messages : 18
    Par défaut WMI, Python et Windows10
    Bonjour,

    Je bloque depuis très très longtemps sur un bout de code.
    Je suis une quiche en anglais ...

    Je cherche la tension électrique sur le PC en passant par le capteur intégré. Mais "WMI" me répond ... "None".
    POURQUOI ?
    Et comment trouver ce que cherche ?

    Code : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    import wmi #module
    w0 = wmi.WMI() # ()=machine locale
    lst = []
     
    for v in w0.Win32_VoltageProbe(): #(35 propriétés)
        lst.append(["nom du système de classe ....",v.SystemCreationClassName])
        lst.append(["nom de la classe ............",v.CreationClassName])
        lst.append(["description .................",v.Description])
        lst.append(["nom de l'appareil ...........",v.SystemName])
        lst.append(["type de capteur .............",v.Caption])
        lst.append(["capteur linéaire ............",v.IsLinear])
        lst.append(["nom du capteur ..............",v.Name])
        lst.append(["adresse du capteur ..........",v.DeviceID])
        lst.append(["date d'installation .........",v.InstallDate])
        lst.append(["disponibilité ...............",v.Availability])
        lst.append(["statut ......................",v.Status])
        lst.append(["                         ....",v.StatusInfo])
        lst.append(["adresse PNP .................",v.PNPDeviceID])
        #Valeurs !!!
        lst.append(["tension nominale ............",v.NominalReading])
        lst.append(["tension actuelle ............",v.CurrentReading]) #!!!!!!!!!!!!!!!!!!!!
        lst.append(["précision ...................",v.Accuracy])
        lst.append(["résolution ..................",v.Resolution])
        lst.append(["tolérance ...................",v.Tolerance])
        lst.append(["tension normale mini ........",v.NormalMin])
        lst.append(["              détectable ....",v.MinReadable])    
        lst.append(["seuil inf. non critique .....",v.LowerThresholdNonCritical])
        lst.append(["seuil inf. critique .........",v.LowerThresholdCritical])
        lst.append(["seuil inf. fatal ............",v.LowerThresholdFatal])
        lst.append(["tension normale maxi ........",v.NormalMax])
        lst.append(["              détectable ....",v.MaxReadable])
        lst.append(["seuil sup. non critique .....",v.UpperThresholdNonCritical])  
        lst.append(["seuil sup. critique .........",v.UpperThresholdCritical])
        lst.append(["seuil sup. fatal ............",v.UpperThresholdFatal])
     
    n = 0
    while n < 13 :
        print (lst[n][0],lst[n][1])
        n = n+1
     
    print ("Valeurs :")
     
    n = 13
    while n < len(lst) :
        print (lst[n][0],lst[n][1])
        n = n+1

  2. #2
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 211
    Par défaut
    Hello,
    Citation Envoyé par Falenn Voir le message
    Je cherche la tension électrique sur le PC en passant par le capteur intégré. Mais "WMI" me répond ... "None".
    POURQUOI ?
    Quelles tensions électriques cherches tu ? Celles qui sont générés par l'alimentation ( 5V , 12V etc ...) ? Celles du CPU ? une tension extérieure ?
    En tout cas avec ton code , je ne pense pas que tu puisses obtenir ce type d'informations.
    Quand je lance dans une invite de commande powershell :
    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-CimInstance -ClassName Win32_VoltageProbe -Property *
    je n'obtiens rien ce qui correspond au None dans ton code python. Tu as un capteur de tension particulier dans ton PC ?

    Ami calmant, J.P

  3. #3
    Membre averti Avatar de Falenn
    Femme Profil pro
    Prise de tête
    Inscrit en
    Mars 2021
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Prise de tête

    Informations forums :
    Inscription : Mars 2021
    Messages : 18
    Par défaut
    C'est la propriété "CurrentReading"

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 211
    Par défaut
    Citation Envoyé par Falenn Voir le message
    C'est la propriété "CurrentReading"
    tu n'as pas répondu à mes questions et ta propriété CurrentReading est inaccessible sur un objet qui vaut None !

  5. #5
    Membre averti Avatar de Falenn
    Femme Profil pro
    Prise de tête
    Inscrit en
    Mars 2021
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Prise de tête

    Informations forums :
    Inscription : Mars 2021
    Messages : 18
    Par défaut
    Re ...

    Je me suis mal expliquée (comme souvent).
    Je cherche à interagir avec les capteurs/sondes matériels intégrés (comme le fait l'appli HWinfo par exemple).

    1/ Possible avec WMI et Win32_VoltageProbe, mais pas comme je l'ai fait. Alors, comment ?
    2/ Possible avec WMI, mais avec une autre des 1181 classes. Alors, laquelle/lesquelles ?
    3/ Possible en Python, mais avec un autre module que WMI. Alors, lequel/lesquels ?
    4/ Pas directement possible avec Python, passer par "ctypes" + autre langage. Alors, lequel ?
    5/ autre solution ?

    Mon code était un exemple pour illustrer qu'on peut obtenir des renseignements, mais pas tous ceux que je cherche.

    Merci.

Discussions similaires

  1. Comment utiliser Python sur Windows10
    Par hary66 dans le forum Général Python
    Réponses: 6
    Dernier message: 11/02/2021, 16h27
  2. Réponses: 3
    Dernier message: 07/10/2015, 08h22
  3. Python et WMI, récupérer le nom d'une machine à distance
    Par SmithC dans le forum Général Python
    Réponses: 1
    Dernier message: 19/04/2011, 11h46
  4. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 12h32
  5. WMI et C++ ...
    Par gargle dans le forum MFC
    Réponses: 2
    Dernier message: 19/12/2003, 08h58

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