- 浏览: 138648 次
- 性别:
文章分类
最新评论
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons,Registry;
type
TIntArray=Array of Integer;
function TForm1.GetComPorts:TIntArray;
var
reg:TRegistry; // 注: 要引用Registry单元
Namelst:TStrings;
i:integer;
str:AnsiString;
ComPorts:TIntArray;
begin
Namelst:=TStringList.Create;
reg:=TRegistry.Create;
reg.RootKey :=HKEY_LOCAL_MACHINE;
reg.OpenKey('HARDWARE/DEVICEMAP/SERIALCOMM',true);
reg.GetValueNames(Namelst);
SetLength(ComPorts,Namelst.Count);
for i := 0 to Namelst.Count -1 do
begin
str:=reg.ReadString(Namelst[i]);
ComPorts[i]:=StrToInt(Copy(str,4,Length(str)));
end;
reg.CloseKey;
reg.Free;
Namelst.Free;
Result:=ComPorts;
end;
发表评论
-
Delphi中的接口和抽象类
2010-12-06 16:30 608接口:Interface Delphi中接口的关键字 ... -
Delphi中票据凭证的精确打印
2011-04-06 15:13 1015一、概述 在银行,税务,邮政等行业的实际工作中,经常涉及到在 ... -
Delphi编程中流的应用
2011-05-25 11:19 829一、流的概念 流简单说是建立在面向对象基础上的一种 ... -
Pascal与C的指针
2011-05-26 13:49 1060大家都认为,C语言 ... -
Delphi编程的一些资料1
2011-06-16 10:40 766手机 SMS PDU 格式参考手册 1.相关的GSM AT指 ... -
Delphi编程的一些资料2
2011-06-16 10:43 748算法步骤: 一、地址 ... -
Delphi编程的一些资料3
2011-06-16 10:46 817一、一般命令 AT+CGMI ... -
Delphi编程的一些资料4
2011-06-16 10:48 818七、追加服务命令 AT+CCFC 呼叫继续 ... -
Delphi编程的一些资料5
2011-06-16 10:53 802十三、SIM卡工具箱命令 AT+STSF ... -
短信文本模式下的解码方法
2011-06-16 10:57 824接收短信有两种编码格式: 1.中英文混合的为unicode 2 ... -
Delphi 分隔GSMModem接收到的短信字符串
2011-06-20 10:37 1119Delphi 分隔GSMModem接收到的短信字符串 ... -
Delphi流的操作
2011-06-22 14:34 837Delphi流的操作 一、流的概念 流简单说是建立在面 ... -
Delphi、PChar和Char数组的比较
2011-06-22 16:14 1308Delphi、PChar和Char数组的 ... -
Delphi 判断数据库表是否存在
2011-06-26 12:54 1123//根据表名和一个数据库连接判断表是否存在 function ... -
Delphi ListView基本用法大全
2011-08-22 17:27 1407Delphi ListView基本用法大全 //增加项或列( ... -
Delphi2010 无效的类别字符串, ProgID: "ADOX.Catalog"问题
2012-07-18 09:56 2138程序中用ADOX创建的Access数据库,一直运行正常,其 ... -
Delphi 禁用TEdit右键菜单及复制粘贴
2012-07-19 11:24 1400Delphi 禁用TEdit右键菜单及复制粘贴简的单方法 ... -
Delphi TStrings取得Ini文件键值对
2012-07-20 07:37 1361Delphi TStrings取得Ini文件键值对的简单 ... -
Delphi 压缩Access数据库
2012-07-21 12:21 1677由于Access数据库在反复使用过程中会自动增大,Del ...
相关推荐
本文将深入探讨如何在VS/C++环境中实现自动查询和搜索串口号,以及如何利用注册表信息来获取串口的相关设置。 首先,串口在Windows操作系统中是以设备驱动程序的形式存在,它们的配置信息存储在注册表中。因此,要...
通过这些函数,开发者可以遍历所有可用的串口,并获取每个串口的详细信息,如设备名称(COM1, COM2等)。 `main.cpp`是程序的主入口点,它调用了`enumser`模块的接口,展示如何在实际应用中使用获取串口列表的功能...
通过这种方式,开发人员可以快速构建一个用户友好的界面,帮助用户选择正确的串口进行通信,提高工作效率。在实际应用中,这样的程序可以作为其他串口通信软件的基础,或者作为嵌入式系统调试工具的一部分。
本文将详细介绍如何使用 Visual C++ (VC++) 编写代码来获取当前计算机上所有可用的串口号。 #### 二、基础知识 1. **串口**: 串行通信接口的一种,通常用于计算机与外设之间的数据传输。 2. **注册表**: Windows ...
自动识别串口主要是通过查询注册表来获取当前系统中所有可用的串行端口名称。Windows操作系统将这些信息存储在注册表的特定键值下,例如`HARDWARE\DEVICEMAP\SERIALCOMM`。通过读取这些键值,可以获取到一系列的串...
总的来说,实现BCB6.0环境下自动识别USB串口设备的关键在于监听WM_DEVICECHANGE消息,查询注册表获取串口号,并在事件发生时通知用户。这个过程涉及了Windows编程、设备驱动接口以及BCB6.0中的事件处理和组件使用。...
// 获取当前缓冲区内的字节数 if (BufferDataNumStart == 0) return; // 如果缓冲区为空,则直接返回 while (true) { System.Threading.Thread.Sleep(10); // 为了防止死循环,适当延迟 BufferDataNumEnd = ...
在某些情况下,应用程序可能无法从注册表中正确读取可用的串口号。修复这个bug可能涉及: - **正确访问注册表键**:确保使用正确的注册表路径(如`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Serial`...
- `CommPort`: 设置串口号,例如Com1、Com2等。 - `Settings`: 设置波特率、数据位、停止位、校验位等串口参数。 - `InputMode`: 选择输入模式,如文本模式或二进制模式。 - `RThreshold`: 设置接收缓冲区达到指定...
9. **GetCommState**:获取当前串口的状态。 **三、注册与使用MSComm控件** 在Windows系统中,MSComm32.ocx是MSComm控件的动态链接库文件,而MSCOMM32.reg则是注册控件的注册表文件。在开发环境中,需要先将MSComm...
【PC机通信设置】对话框中的【COM口】列表为空KincoBuilder通过读取注册表中的硬件信息来获取本机可用的COM口。在早期的版本中, 必须赋予KincoBuilder以管理员身份来运行的权限, 否则就会显示一个空的串口列表...
1. **权限问题**:执行上述命令时,需要确保当前用户具有足够的权限访问注册表。如果遇到权限不足的问题,可以尝试以管理员身份运行CMD。 2. **安全风险**:修改或读取注册表前,请务必备份相关注册表键值,以防意外...
- `lpszProxyBypass`: 不通过代理直接连接的主机名或IP地址列表,未提供时从系统注册表中获取。 - `dwFlags`: 配置选项,如异步操作、缓冲策略等。 - **InternetSetOption**: 设置句柄相关的选项,如连接超时时间...
- 可以通过命令提示符执行net services或net start命令来查看系统当前正在运行的服务。 12. 其他常用命令: - taskkill:结束指定进程。 - tasklist:显示所有运行的进程。 - net view:列出网络中的计算机。 ...