procedure TForm1.FormShow(Sender: TObject);
var
reg:tregistry;
i:integer;
begin
combobox1.clear;
reg:=tregistry.create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.openkey('System\CurrentControlSet\Services\Class\Modem\',true);
reg.GetKeyNames(combobox2.items);
reg.closekey;
for i:=0 to combobox2.items.count-1 do
begin
reg.openkey('System\CurrentControlSet\Services\Class\Modem\'+combobox2.items[i],true);
if reg.ValueExists('model') then combobox1.items.add(reg.ReadString('model'))
else combobox1.items.add('#'+inttostr(i));
reg.closekey;
end;
reg.free;
end;
我装的是内猫,这段代码执行之后combobox1里什么都没有???
var
reg:tregistry;
i:integer;
begin
combobox1.clear;
reg:=tregistry.create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.openkey('System\CurrentControlSet\Services\Class\Modem\',true);
reg.GetKeyNames(combobox2.items);
reg.closekey;
for i:=0 to combobox2.items.count-1 do
begin
reg.openkey('System\CurrentControlSet\Services\Class\Modem\'+combobox2.items[i],true);
if reg.ValueExists('model') then combobox1.items.add(reg.ReadString('model'))
else combobox1.items.add('#'+inttostr(i));
reg.closekey;
end;
reg.free;
end;
我装的是内猫,这段代码执行之后combobox1里什么都没有???
我没有猫
我的是2003的系统
不知道和你的系统有什么区别没有我的注册表中Modem的路径是:
System\CurrentControlSet\Services\Modem\
和你的不一样你可以首先检查一下combobox2里面的值是什么(用Message查一下就可以了)
然后再去查询。