ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Понедельник
12 апреля
/1091285
Топик полностью
POV_ (07.04.2021 10:52, просмотров: 22) в ответ на Коллеги, чья утилита? Не поделитесь кусочком кода сканирования ком портов? - автор: Nikolaev_Aleksey
c++builder... 
#include "registry.hpp"  
#include <setupapi.h>
HDEVINFO hDevInfo; 
SP_DEVINFO_DATA DeviceInfoData; 
SP_DEVICE_INTERFACE_DATA DeviceInterfaceData; 
char dev_name[1024]; 
DWORD i; 

GUID GUID_DEVCLASS_PORTS = {0x4d36e978, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18}; 

hDevInfo = SetupDiGetClassDevs(&GUID_DEVCLASS_PORTS, 0, 0, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE); 
if (hDevInfo == INVALID_HANDLE_VALUE) 
    return; 
DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA); 
DeviceInterfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA); 
for(i = 0; SetupDiEnumDeviceInfo(hDevInfo, i, &DeviceInfoData); i++) 
{ 
    SetupDiGetDeviceRegistryPropertyA(hDevInfo, &DeviceInfoData, SPDRP_FRIENDLYNAME, NULL, (UCHAR*)dev_name, sizeof(dev_name), NULL); 
    // использовать dev_name
} SetupDiDestroyDeviceInfoList(hDevInfo);

это даёт не только список портов, то и их описание.

Ответы