for l = 1 to conlngMaxPorts
l = CreateFile("COM" & l, GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0)
If l = INVALID_HANDLE_VALUE Then
Dim s As String
Select Case Err.LastDllError
Case IE_BADID, 2
s = "无效的端口号。"
Case IE_OPEN, 5
lngCOMPort = lngCOMPort +1
s = "端口已被占用。"
Case IE_MEMORY
s = "不能获取缓冲内存。"
Case IE_DEFAULT
s = "缺省参数错误。"
Case IE_HARDWARE
s = "硬件不支持。"
Case IE_BYTESIZE
s = "不支持此数据位数。"
Case IE_BAUDRATE
s = "不支持此波特率。"
Case Else 'IE_NOPEN
s = "不能打开端口。"
End Select
else
CloseHandle l
lngCOMPort = lngCOMPort +1
end if
next