用Vb编写:如果电脑接的是usb接口转串口,那在combo中显示端口为com3和com4,如果电脑接的是串口那么combo中显示的端口是com1和com2
解决方案 »
- VB listview导入TXT问题
- Method '~' of object '~' failed Connect to database faild 这是那里出错了?
- C里(DWORD)转换出来的是什么?VB如何做?
- 有谁能给些自定义类型然后函数调用的例子?
- 请问关于rmoc3260.dll控件的问题!!!
- 难。谁知道怎么同步方式执行SHELL吗?
- 关于模态对话框的问题、、、
- 急:是否使用VBA打开PPT中一页,并可以用其他语言调用,如java等
- 关于菜单的问题,高分求教,先给这么多,以后在加(在线等待)
- vb数据库查找问题,data1.recordset.......
- 在VB中使用teechart 5.0的问题
- 调用这个控件MSFlexGrid1实现表格?
Combo1.Clear
Select Case portName
Case "usb"
Combo1.AddItem "COM3"
Combo1.AddItem "COM4"
Case "com"
Combo1.AddItem "COM1"
Combo1.AddItem "COM2"
End Select
Combo1.Text = "选择端口号"
End SubPrivate Sub Command1_Click()
showPortNum "com"
End Sub
可用如下函数,在本机测试通过,如果存在那些串口,funCommPortFix就会返回存有端口的字符串数组.'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函 数 名: funCommPortFix
'作 用: 对COM口进行检测,测试哪些端口可以使用
'使用说明: 定义一动态数组arr() As String,令arr=funCommPortFix(),便可获得存在端口号."
'修改历史:
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Function funCommPortDetect(PortNumber As Integer) As Integer
On Error Resume Next
MSComm0.CommPort = PortNumber
MSComm0.PortOpen = True
If Err Then
funCommPortDetect = -1
Else
funCommPortDetect = PortNumber
End If
MSComm0.PortOpen = False
End Function
Public Function CommPortFix() As String()
Dim intCommPortNumber As Integer, blnFirst As Boolean
Dim strResult As String
On Error Resume Next '屏蔽错误
blnFirst = True
For intCommPortNumber = 1 To 16
If funCommPortDetect(intCommPortNumber) <> -1 Then
If blnFirst Then
strResult = "COM" & intCommPortNumber
blnFirst = False
Else
strResult = strResult & " " & "COM" & intCommPortNumber
End If
End If
Next
CommPortFix = Split(strResult, " ")
End Function
Option Explicit
Dim a As Integer
Private Sub Form_Load()
Me.AutoRedraw = True
On Error GoTo uerror
For a = 1 To 4 'WINXP下可搜索到16
MSComm1.CommPort = a
MSComm1.PortOpen = True
If MSComm1.PortOpen = True Then
Print "可用Com号= "; a
MSComm1.PortOpen = False
Else
End If
Next
Exit Sub
uerror:
Print "出错或占用Com号= "; a
Resume Next
End Sub
Dim StrSport() As String
StrSport = CommPortFix()
程序运行后显示不能给数组赋值