如果判断串口控件是否已经打开, 可以用 Active 属性: if(YbCommDevice1->Active) { //已经打开
如果判断串口是否被别人打开:串口被别人打开,就不能再打开了。
如果设置了串口号,再执行 Active=true; 执行成功,就说明没有被别人打开,如果失败,有两种可能:
1.被别人打开了,2.串口不存在。
判断串口是否存在,可以通过:
TCommSerialPortInfo spi;
if(spi.IsFromSystem) //系统安装了串口驱动程序,表明存在串口
{
spi.PortList->Count; //电脑上一共有的串口个数, 以安装的驱动程序为准, 例如内置调制解调器或USB转串口线都是一个串口
spi.PortList->Strings[i]; //第i个串口的名字,例如 "COM1", "COM2" 等
spi.PortNo(spi.PortList->Strings[i]); //第i个串口的串口串口号(整数),例如 1 表示 COM1, 2 表示 COM2
}
查遍所有 spi.PortList->Count个 串口的名字或者串口号,可以找到某个串口是否存在。
--------------------next---------------------
阅读(1155) | 评论(0) | 转发(0) |