下了个MiTec8控件,可以得到CPU,内存,硬盘,IDE,接口,系统信息……
但是用它来取端口号的时候,发现,如果不改端口号,是正确的,取到COM1和COM2
把COM1的端口号改为其他的比如COM3时,取得的还是COM1,COM2,有没有什么好办法?

解决方案 »

  1.   

    可以通过读注册表啊?
    COM1----COMn存放在注册表中的,改了后,自动会改的
    你用这个吧!
      

  2.   

    Reg := TRegistry.create;
         Reg.RootKey := HKEY_LOCAL_MACHINE;
         Reg.OpenKey('hardware\devicemap\serialcomm',false);
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject); 
    var
      reg: TRegistry;
      st: Tstrings;
      i: Integer;
    begin
      reg := TRegistry.Create;
      try
        reg.RootKey := HKEY_LOCAL_MACHINE; 
        reg.OpenKey('hardware\devicemap\serialcomm', False);
        st := TstringList.Create;
        try
          reg.GetValueNames(st); 
          for i := 0 to st.Count - 1 do
            Memo1.Lines.Add(reg.Readstring(st.strings[i])); 
        finally
          st.Free; 
        end;
        reg.CloseKey; 
      finally
        reg.Free;
      end;
    end;猛料上的