zoukankan      html  css  js  c++  java
  • Delphi

    Com口函数

    自动获取Com口,函数列表

    procedure EnumComPorts(Ports: TStrings); //自动获取com口函数
    var
    KeyHandle: HKEY;
    ErrCode, Index: Integer;
    ValueName, Data: string;
    ValueLen, DataLen, ValueType: DWORD;
    TmpPorts: TStringList;
    begin
    ErrCode := RegOpenKeyEx(
    HKEY_LOCAL_MACHINE,
    'HARDWAREDEVICEMAPSERIALCOMM',
    0,
    KEY_READ,
    KeyHandle);
    
    if ErrCode <> ERROR_SUCCESS then
    Exit; // raise EComPort.Create(CError_RegError, ErrCode);
    
    TmpPorts := TStringList.Create;
    try
    Index := 0;
    repeat
    ValueLen := 256;
    DataLen := 256;
    SetLength(ValueName, ValueLen);
    SetLength(Data, DataLen);
    ErrCode := RegEnumValue(
    KeyHandle,
    Index,
    PChar(ValueName),
    Cardinal(ValueLen),
    nil,
    @ValueType,
    PByte(PChar(Data)),
    @DataLen);
    
    if ErrCode = ERROR_SUCCESS then
    begin
    SetLength(Data, DataLen);
    TmpPorts.Add(Data);
    Inc(Index);
    end
    else
    if ErrCode <> ERROR_NO_MORE_ITEMS then
    exit; //raise EComPort.Create(CError_RegError, ErrCode);
    
    until (ErrCode <> ERROR_SUCCESS) ;
    
    TmpPorts.Sort;
    Ports.Assign(TmpPorts);
    finally
    RegCloseKey(KeyHandle);
    TmpPorts.Free;
    end;
    
    end;
    

      

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    EnumComPorts(COMBOBOX1.Items); //得到串口列表
    end;
    

      

  • 相关阅读:
    sharepoint 2010 资料
    调试 SharePoint 解决方案
    定义不同模板的网站集
    作图工具
    struts2的优点
    get load
    什么是java的事物
    session的实现方式
    final 和static的关系
    各种大神的表单验证 感谢大神的辛苦
  • 原文地址:https://www.cnblogs.com/lee-xingxing/p/8057321.html
Copyright © 2011-2022 走看看