C++ 在C\C中刷新Windows USB设备++
我试图找到一种实用的方法,重新列举连接到PC USB端口的USB设备 在Windows中,可以打开设备管理器,然后右键单击电脑名称并选择扫描硬件更改 如何从C/C++程序中执行此或类似但特定于USB总线的操作?您可以在项目中使用cfgmgr32.lib库。这很容易。如果你不知道如何使用它,你可以再问我一次C++ 在C\C中刷新Windows USB设备++,c++,winapi,mfc,C++,Winapi,Mfc,我试图找到一种实用的方法,重新列举连接到PC USB端口的USB设备 在Windows中,可以打开设备管理器,然后右键单击电脑名称并选择扫描硬件更改 如何从C/C++程序中执行此或类似但特定于USB总线的操作?您可以在项目中使用cfgmgr32.lib库。这很容易。如果你不知道如何使用它,你可以再问我一次 BOOL ScanForHardwareChanges() { DEVINST devInst; CONFIGRET status; // //
BOOL ScanForHardwareChanges()
{
DEVINST devInst;
CONFIGRET status;
//
// Get the root devnode.
//
status = CM_Locate_DevNode(&devInst, NULL, CM_LOCATE_DEVNODE_NORMAL);
if (status != CR_SUCCESS) {
printf("CM_Locate_DevNode failed: %x\n", status);
return FALSE;
}
status = CM_Reenumerate_DevNode(devInst, 0);
if (status != CR_SUCCESS) {
printf("CM_Reenumerate_DevNode failed: %x\n", status);
return FALSE;
}
return TRUE;
}
MSDN:如何使用CM_Locate_DevNode函数?链接时间存在链接错误,如链接:致命错误LNK1104:无法打开文件“Cfgmgr32.lib”这将解决此问题,ps CM_Renumerate_DevNode需要管理员访问权限