Код: Выделить всё
ProcessorClass=SetupDiGetClassDevs(&GUID_DEVCLASS_PROCESSOR, NULL, NULL, DIGCF_PRESENT);
ZeroMemory(&Processor, sizeof(Processor));
Processor.cbSize=sizeof(Processor);\
SetupDiEnumDeviceInfo(ProcessorClass, 0, &Processor);
SetupDiGetDeviceRegistryProperty(ProcessorClass, &Processor, SPDRP_DEVICEDESC, NULL, NULL, 0, &ProcessorModelSize);
SetupDiGetDeviceRegistryProperty(ProcessorClass, &Processor, SPDRP_MFG , NULL, NULL, 0, &ProcessorFirmSize );
ProcessorModel=new (std::nothrow) wchar_t [ProcessorModelSize];
ProcessorFirm=new (std::nothrow) wchar_t [ProcessorFirmSize];
SetupDiGetDeviceRegistryProperty(ProcessorClass, &Processor, SPDRP_DEVICEDESC, NULL, (BYTE*)ProcessorModel, ProcessorModelSize, NULL);
SetupDiGetDeviceRegistryProperty(ProcessorClass, &Processor, SPDRP_MFG , NULL, (BYTE*)ProcessorFirm , ProcessorFirmSize , NULL);
Log<<L"<Индекс>"<<Count<<L"</Индекс>"<<std::endl;
Log<<L"<Модель>"; Log<<ProcessorModel; Log<<L"</Модель>"<<std::endl;
Log<<L"<Фирма>" ; Log<<ProcessorFirm ; Log<<L"</Фирма>"<<std::endl;
Код: Выделить всё
VideoCardClass=SetupDiGetClassDevs(&GUID_DEVCLASS_VideoCard, NULL, NULL, DIGCF_PRESENT);
ZeroMemory(&VideoCard, sizeof(VideoCard));
VideoCard.cbSize=sizeof(VideoCard);\
SetupDiEnumDeviceInfo(VideoCardClass, 0, &VideoCard);
SetupDiGetDeviceRegistryProperty(VideoCardClass, &VideoCard, SPDRP_DEVICEDESC, NULL, NULL, 0, &VideoCardModelSize);
SetupDiGetDeviceRegistryProperty(VideoCardClass, &VideoCard, SPDRP_MFG , NULL, NULL, 0, &VideoCardFirmSize );
VideoCardModel=new (std::nothrow) wchar_t [VideoCardModelSize];
VideoCardFirm=new (std::nothrow) wchar_t [VideoCardFirmSize];
SetupDiGetDeviceRegistryProperty(VideoCardClass, &VideoCard, SPDRP_DEVICEDESC, NULL, (BYTE*)VideoCardModel, VideoCardModelSize, NULL);
SetupDiGetDeviceRegistryProperty(VideoCardClass, &VideoCard, SPDRP_MFG , NULL, (BYTE*)VideoCardFirm , VideoCardFirmSize , NULL);
Log<<L"<Индекс>"<<Count<<L"</Индекс>"<<std::endl;
Log<<L"<Модель>"; Log<<VideoCardModel; Log<<L"</Модель>"<<std::endl;
Log<<L"<Фирма>" ; Log<<VideoCardFirm ; Log<<L"</Фирма>"<<std::endl;