Я уже почти точно такой же вопрос прочитал по этому вопросу (Аппаратное обеспечение 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. Благодарю.
WMI получает данные с помощью поставщиков WMI, к сожалению, некоторые производители не предоставляют такие данные этим поставщикам, поэтому вам здесь не повезло. Если вам нужен надежный метод для получения некоторой информации о памяти, такой как серийные номера, производитель и т. Д., Вы можете использовать функцию обнаружения присутствия (SPD), как это делает CPU-Z. Вы можете получить всю документацию, связанную с SPD, от JEDEC сайт.