WMI дает мне неполную информацию об оборудовании (PhysicalMemory)

Я уже почти точно такой же вопрос прочитал по этому вопросу (Аппаратное обеспечение WMI, получить информацию о RAM), и здесь я надеюсь получить дополнительную информацию по этой теме.

Мне нужно получить различную информацию об оборудовании, такую ​​как серийный номер RAM, SN жесткого диска, SN CPU и т. Д. Я использую Visual C ++ 2010 и WMI для запроса информации, но это не дает мне то, что я хочу. Например, я начал пытаться получить RAM SN, и после запроса его (я использовал Win32_PhysicalMemory, затем я получаю свойство «SerialNumber»), я получаю

SerialNumber
SerNum0
SerNum1

что явно не так. Я также пошел в командную строку для этого (wmic memorychip get serialnumber), но я получаю то же самое. Но я знаю, что серийный номер там; когда я использую стороннюю программу CPU-Z, она безошибочно получает серийные номера RAM.

Я спрашиваю не тот класс? Я что-то пропустил? Я пробовал исполняемый файл, который я сделал на нескольких других компьютерах, со смешанными результатами успеха и неудачи — но CPU-Z никогда не дает сбой.

Я занимаюсь разработкой в ​​Visual Studio C ++ 2010 на 64-битном компьютере под управлением Windows 7. Благодарю.

4

Решение

WMI получает данные с помощью поставщиков WMI, к сожалению, некоторые производители не предоставляют такие данные этим поставщикам, поэтому вам здесь не повезло. Если вам нужен надежный метод для получения некоторой информации о памяти, такой как серийные номера, производитель и т. Д., Вы можете использовать функцию обнаружения присутствия (SPD), как это делает CPU-Z. Вы можете получить всю документацию, связанную с SPD, от JEDEC сайт.

3

Другие решения


По вопросам рекламы [email protected]