Bonjour,

Je travail sur un outil qui me permet d'obtenir des informations sur une plateforme qui tourne sous WinXPembedded. Mon problème actuel est que je tente d'avoir le nom du fabricant de la batterie (important car nous avons 2 fabricants) et la date de fabrication de la batterie.

Ces deux informations sont consultables par Win32_PortableBattery. Mais alors que sur un PC portable mon application de test me retourne les bonnes informations, cela ne fonctionne pas sur la plateforme.

Cimwin32.dll est présent car je peux utiliser Win32_Battery pour obtenir certaines infos.

En utisant Win32_SystemEnclosure la propriété ChassisTypes est "Desktop" je ne sais pas si cela pourrait avoir un lien avec mon problème (je débute en programmation ).

Est-ce que vous auriez une idée sur ce qui se passe?

Merci et bonne journée,

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Management;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            GetBatteryInfos();
        }
 
        private void GetBatteryInfos()
        {
            ConnectionOptions aConnectionOptions = new ConnectionOptions();
			ManagementScope aManagementScope = new ManagementScope("\\\\localhost\\root\\cimv2", aConnectionOptions);
			System.Management.ObjectQuery aObjectQuery = new System.Management.ObjectQuery("select * from Win32_PortableBattery");
			ManagementObjectSearcher aManagementObjectSearcher = new ManagementObjectSearcher(aManagementScope, aObjectQuery);
			ManagementObjectCollection aManagementObjectCollection = aManagementObjectSearcher.Get();
            foreach (ManagementObject aManagementObject in aManagementObjectCollection)
            {
                MessageBox.Show("manufacturer : " + aManagementObject["manufacturer"].ToString());
			}
        }
    }
}