创建线程读串口造成计算机重启,诚请各位大侠诊断!该如何解决

创建线程读串口造成计算机重启,诚请各位大侠诊断!
各位大侠,我是个新手,第一次用线程做读串口的程序。现在状况是:如果我先打开应用程序创建好线程,再用串口调试助手发数据就正常;如果我先用串口调试助手发数据,再创建线程读串口,计算机就会重启,让我非常郁闷。还请大虾们指点一下!
我的程序是这样做的:
程序是从网上找的。例子本身是在窗口初始化的时候在InitInstance()中打开串口,然后在OnInitDialog()中创建线程。我在我的程序中加了一个按钮,打开串口不变,只是把创建线程的代码放到了onbtn1()里面,还加了一个按钮用了exitthread()。我想这样我就可以控制程序读或是不读串口,对读来的数据进行统计。
结果如我前面所说,如果我先打开应用程序创建好线程,再用串口调试助手发数据就正常;如果我先用串口调试助手发数据,再创建线程读串口,计算机就会重启。
我第一次用串口通讯,不知道怎样使正确的。只是从网上搜了一个serialnull来虚拟了两个串口,看到能通信了我就用了。不知道是不是我这样做法的问题?
请大虾们指教!非常感谢!

------解决方案--------------------
一般这种错误都是试图去关闭一个不存在的句柄,我也做通讯,我们是当把串口线拔了过后就会蓝屏,解决方法是在试图关闭句柄的地方try catch一下,不过这样的后果是关不掉串口..