笔记本连台式机用PS2转接线调试的时候好的(笔记本发送一个按键,台式机接受一个),但笔记本连彩票机(也是PS2转换线)的时候,我发送一个按键,如果没问题的话 彩票机上也应该对应接受一个按键,但不知道为什么 彩票机一直在不停的接受这个按键 无法释放 ... 下面贴主要代码  大神解决public bool Open()
        {
            DCB dcbCommPort = new DCB();
            COMMTIMEOUTS ctoCommPort = new COMMTIMEOUTS();
            // 打开串口 
            hComm = CreateFile("COM3", GENERIC_WRITE | GENERIC_READ , 0, 0, OPEN_EXISTING, 0, 0);
            if (hComm == INVALID_HANDLE_VALUE)
            {
                return false;
            }
            // 设置通信超时时间
            GetCommTimeouts(hComm, ref ctoCommPort);
            ctoCommPort.ReadTotalTimeoutConstant = ReadTimeout;
            ctoCommPort.ReadTotalTimeoutMultiplier = 100;
            ctoCommPort.WriteTotalTimeoutMultiplier = 100;
            ctoCommPort.WriteTotalTimeoutConstant = 100;
            SetCommTimeouts(hComm, ref ctoCommPort);
            //// 设置串口
            GetCommState(hComm, ref dcbCommPort);
            dcbCommPort.fOutxCtsFlow = 524800;
            dcbCommPort.BaudRate = BaudRate;
            dcbCommPort.flags = 0;
            dcbCommPort.flags |= 1;
            if (Parity > 0)
            {
                dcbCommPort.flags |= 2;
            }
            dcbCommPort.Parity = Parity;
            dcbCommPort.ByteSize = ByteSize;
            dcbCommPort.StopBits = StopBits;
            dcbCommPort.fOutxCtsFlow = 524800;
            if (!SetCommState(hComm, ref dcbCommPort))
            {
                return false;
            }
            Opened = true;
            return Opened;
        }   public bool Close()
        {
            if (hComm != INVALID_HANDLE_VALUE)
            {
                CloseHandle(hComm);
                Opened = false;
                return true;
            }
            return false;
        }   /// <summary>
        /// 清空COM口缓冲区数据
        /// </summary>
        /// <returns></returns>
        public bool ClearPortData()
        {
            if (hComm != INVALID_HANDLE_VALUE)
            {
                return PurgeComm(hComm, 1);
            }
            return false;
        } //发送按键信息(16进制)
        private void Send()
        {
            bool isOpen = false;
            string getStr = Print(RaffleTicketPlay.快3, textBox1.Text);
            string[] strs = getStr.Substring(0, getStr.Length - 1).Split(' ');
            for (int i = 0; i < strs.Length; i++)
            {
                sc = new SerialCom();
                isOpen = sc.Open(); //打开串口
                if (isOpen)
                {
                    int res = sc.Write(Encoding.UTF8.GetBytes(ToAscii(strs[i])));   //写信息
                    Thread.Sleep(30);
                    sc.ClearPortData(); //清楚数据
                }
                else
                {
                    MessageBox.Show("未连接到串口");
                }
                sc.Close(); //关闭串口
            }
        }串口通信apic#