Я хочу перечислить USB идентификаторов VID из реестра, и я написал следующий код: DelphiПочему мой код не находит ключи реестра?
procedure FindUSBvids(VIDs: TStrings);
var
Reg1: TRegistry;
begin
Reg1 := TRegistry.Create;
try
Reg1.RootKey := HKEY_LOCAL_MACHINE;
Reg1.OpenKey('System\CurrentControlSet\Enum\USB', False);
Reg1.GetKeyNames(VIDs);
finally
Reg1.Free;
end;
end;
procedure TForm1.Button6Click(Sender: TObject);
FindUSBvids(Memo2.Lines);
end;
К сожалению, Memo остается пустым. Я трижды проверил ключ, он существует и имеет несколько десятков подключей. Что я делаю не так?
(Примечание.. Я не уверен, что это правильный способ найти USB-идентификаторы VID, но это не точка Это просто, что я озадачен, почему код не дает никакого результата)
Small nitpick, используйте CurrentControlSet вместо ControlSet001 ... – whosrdaddy
@whosrdaddy Я думаю, что это зависит от того, что делает OP, не так ли? Если проблемы с отладкой запуска (например), возможно, захотят сравнить текущие с последними известными благами ... конечно, никогда не следует * писать * на 001 или 002, но чтение из них - это правильная вещь, которую нужно делать, время от времени. –
@whosrdaddy Это звучит как хороший совет, а не придирание. Благодаря! –