以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- IsOpen判断端口是否打开 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=170761) |
-- 作者:shyilin8 -- 发布时间:2021/8/6 14:27:00 -- IsOpen判断端口是否打开 If Ports(cob1.Text).IsOpen=False Then try With Ports(cob1.Text) .Close() .Encoding=Encoding.ASCII .BaudRate = cob2.Text .DataBits = cob3.Text .Parity = [Enum].Parse(Gettype(Parity), cob5.Text ) \'奇效验 .StopBits = [Enum].Parse(Gettype(StopBits), cob4.Text ) \'停止位 1 .Handshake = Handshake.None \'.ReadBufferSize() = 8192 \'.WriteBufferSize() = 4096 .Open End With Catch ex As Exception MessageBox.show("通讯端口已经被使用,请停用别的软件使用这个端口!","提示",MessageBoxButtons.OK) Return End Try 其他软件已经打开这个的端口,但是isopen还是判断这个端口没打开,有什么解决办法吗?
|
-- 作者:有点蓝 -- 发布时间:2021/8/6 14:33:00 -- For Each sp As String In Ports.PortNames if sp = cob1.Text then If Ports(cob1.Text).IsOpen=False Then try With Ports(cob1.Text) .Close() .Encoding=Encoding.ASCII .BaudRate = cob2.Text .DataBits = cob3.Text .Parity = [Enum].Parse(Gettype(Parity), cob5.Text ) \'奇效验 .StopBits = [Enum].Parse(Gettype(StopBits), cob4.Text ) \'停止位 1 .Handshake = Handshake.None \'.ReadBufferSize() = 8192 \'.WriteBufferSize() = 4096 .Open End With Catch ex As Exception MessageBox.show("通讯端口已经被使用,请停用别的软件使用这个端口!","提示",MessageBoxButtons.OK) Return End Try return end if
Next |
-- 作者:shyilin8 -- 发布时间:2021/8/6 14:52:00 -- ![]() ![]() |
-- 作者:shyilin8 -- 发布时间:2021/8/6 14:53:00 -- 这样的报错能拦截吗? |
-- 作者:有点蓝 -- 发布时间:2021/8/6 15:01:00 -- 没有办法拦截,试试这种:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=148288&skin=0 |
-- 作者:shyilin8 -- 发布时间:2021/8/6 15:29:00 -- 他这个方法没什么用,他是别的软件打开了这个串口 还是能找到这个串口名称 |
-- 作者:有点蓝 -- 发布时间:2021/8/6 15:52:00 -- 这个问题已经反馈,看看后续能不能改进 |
-- 作者:shyilin8 -- 发布时间:2021/8/6 17:03:00 -- ok |