Полагаю, это зависит от того, насколько вы в отчаянии. У меня был свой опыт работы с USB-устройствами. В моем случае мне нужно было перечислить некоторые устройства, связанные с USB-портом. , , независимо от того, подключены ли они в настоящее время к системе или нет.
Это весь фирменный код компании, извините, я не могу опубликовать его, но поиск всей информации, касающейся USB-устройств, начинается здесь (Perl):
$hostnamePrefix = "//$hostname/";
my $baseKey = "${hostnamePrefix}HKEY_LOCAL_MACHINE/System/CurrentControlSet/";
my $regVidList = Win32::TieRegistry->new("${baseKey}Enum/USB/", $optionsRef);
Если мне не изменяет память, это достаточно прямолинейная структура. Я считаю, что вам действительно нужно пройтись по двум отдельным разделам реестра, чтобы получить все необходимое. , , если вы достаточно отчаянны, чтобы попытаться это сделать, я с удовольствием отвечу на вопросы, где могу, но для публикации кода требуется одобрение нашего юридического отдела. (Не невозможно, но это займет недели.)
Также пока это будет работать на XP. , , Я понятия не имею, как это будет работать на Win7. (Я не знаю, так или иначе, никто еще не пробовал это, о чем я знаю.)
Кодирование это было не так уж плохо (в результате Perl Script составляет около 1000 строк кода, что составляет почти 50% комментариев), но разработка всех взаимосвязей между ключами и особыми случаями заняла несколько дней.