如何获得计算机有几个串口,并且将其逐一显示出来以供选择
解决方案 »
- zuanfentie
- 请问各位重载到底是什么意思,我现在感觉很抽象
- 请教如何关闭程序问题 在线等!!!!!!!!!急等
- 在VC++6中如何调用这个DLL中的一个函数?
- 为什么listbox无法显示??的代码问题
- 怎样对文件进行排序???急急急急急!!!!!
- 用Tabel.AddIndex()方法给一个已建表建立索引,出现Table is busy错误,是什么原因?2
- 一个用户改变记录值时,另一个用户的DbGrid如何自动及时刷新??(解决即给分)
- 什么是COM COM+ DCOM
- 关于TWebBrowser的NewWindow2事件的问题
- 关于动态连接数据库的问题,
- 【急求】Delphi中执行联机帮助代码一段!谢谢,帮助文件是CHM!收到力马给分!
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey ('hardware\devicemap\serialcomm',false);
reg.GetValueNames(ts);_____________________
http://lysoft.7u7.net
Registry;function GetPort(Ports: TStrings; DisplayDevice: Boolean = False): Boolean;
function GetPort(Ports: TStrings; DisplayDevice: Boolean = False): Boolean;
var
Reg: TRegistry;
i: Integer;
CommPort: PInteger;
begin
Ports.Clear;
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\HARDWARE\DEVICEMAP\SERIALCOMM', False) then
begin
Reg.GetValueNames(Ports);
for i := 0 to Ports.Count -1 do
begin
if DisplayDevice then
begin
New(CommPort);
CommPort^ := StrToIntDef(Copy(Ports[i], 15, Length(Ports[i])), 0);
Ports.Objects[i] := TObject(CommPort);
end;
Ports[i] := Reg.ReadString(Ports[i]);
end;
Reg.CloseKey;
end;
finally
Reg.Free;
end;
end;
function getComNames():TStringList;
var
reg:TRegistry;
strName:TStringList;
i:integer;
begin
strName:=TStringList.Create;
reg:= TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
if reg.OpenKeyReadOnly('hardware\devicemap\serialcomm') then
begin
reg.GetValueNames(strName);
end;
Result:=TStringList.Create;
for i:=0 to strName.Count-1 do
Result.Add(reg.ReadString(strName.Strings[i]));
reg.CloseKey;
reg.Destroy;
end;