端口在未打开的情况下是无法执行关闭操作的,就像一盏灯在未打开的状态下也是无法对它进行关闭的,正确的流程是:如果灯开着,那么关闭它,否则就默默飘过,什么也不用干。有些控件在遇到同样情况时,会自动进行容错处理,就是说如果指定的设备或端口已关闭,会自动忽略用户的关闭命令,也就是说这时候程序仍然可以发出关闭命令,只不过是没有任何效果而已。但是MSComm这个控件也许是年代太久远,也许是它本身就是这样的设计理念,总之它没有上述的智能容错功能,所以就只能通过程序来判断了。