Bonjour,
j'utilise ce code pour intéroger la mémoire de l'ordinateur.
Ca fonctionne mais lorsque je l'utilise avec une machine virtuel (virtual pc) la quantité totale est fausse :
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 int m_MemoireMo; // Calcul de la taille de la mémoire vive ManagementScope oMs = new ManagementScope(); ObjectQuery oQuery = new ObjectQuery("SELECT Capacity FROM Win32_PhysicalMemory"); ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs, oQuery); ManagementObjectCollection oReturnCollection = oSearcher.Get(); UInt64 Memory = 0; foreach (ManagementObject oReturn in oReturnCollection) { Console.WriteLine(oReturn.ToString()); Memory += (UInt64)oReturn["Capacity"]; } m_MemoireMo = Convert.ToInt32(Memory / (UInt64)1048576); System.Windows.Forms.MessageBox.Show("Quantité de mémoire totale : " + m_MemoireMo.ToString() + " Mo.");
Il m'affiche 64 Mo alors qu'il y en a 512 Mo (j'ai vérifié par l'affichage des Propriétés système).
Comment je peux avoir la "vrai" information ??
Merci.
Voici les infos retournés par la table "Win32_PhysicalMemory" :
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123 BankLabel : BANK0 Capacity : 16777216 Caption : Mémoire physique CreationClassName : Win32_PhysicalMemory DataWidth : 72 Description : Mémoire physique DeviceLocator : DIMM1 FormFactor : 8 HotSwappable : InstallDate : InterleaveDataDepth : 1 InterleavePosition : 0 Manufacturer : MemoryType : 17 Model : Name : Mémoire physique OtherIdentifyingInfo : PartNumber : PositionInRow : 1 PoweredOn : Removable : Replaceable : SerialNumber : SKU : Speed : Status : Tag : Physical Memory 0 TotalWidth : 64 TypeDetail : 128 Version : BankLabel : BANK1 Capacity : 16777216 Caption : Mémoire physique CreationClassName : Win32_PhysicalMemory DataWidth : 72 Description : Mémoire physique DeviceLocator : DIMM2 FormFactor : 8 HotSwappable : InstallDate : InterleaveDataDepth : 1 InterleavePosition : 0 Manufacturer : MemoryType : 17 Model : Name : Mémoire physique OtherIdentifyingInfo : PartNumber : PositionInRow : 1 PoweredOn : Removable : Replaceable : SerialNumber : SKU : Speed : Status : Tag : Physical Memory 1 TotalWidth : 64 TypeDetail : 128 Version : BankLabel : BANK1 Capacity : 16777216 Caption : Mémoire physique CreationClassName : Win32_PhysicalMemory DataWidth : 72 Description : Mémoire physique DeviceLocator : DIMM2 FormFactor : 8 HotSwappable : InstallDate : InterleaveDataDepth : 1 InterleavePosition : 0 Manufacturer : MemoryType : 17 Model : Name : Mémoire physique OtherIdentifyingInfo : PartNumber : PositionInRow : 1 PoweredOn : Removable : Replaceable : SerialNumber : SKU : Speed : Status : Tag : Physical Memory 2 TotalWidth : 64 TypeDetail : 128 Version : BankLabel : BANK1 Capacity : 16777216 Caption : Mémoire physique CreationClassName : Win32_PhysicalMemory DataWidth : 72 Description : Mémoire physique DeviceLocator : DIMM2 FormFactor : 8 HotSwappable : InstallDate : InterleaveDataDepth : 1 InterleavePosition : 0 Manufacturer : MemoryType : 17 Model : Name : Mémoire physique OtherIdentifyingInfo : PartNumber : PositionInRow : 1 PoweredOn : Removable : Replaceable : SerialNumber : SKU : Speed : Status : Tag : Physical Memory 3 TotalWidth : 64 TypeDetail : 128 Version :
Partager