private void btnFresh_Click(object sender, EventArgs e) { getSerialPort(comboPLC); SubFunction.updateMessage(lstCommandList, "机台调试:点击 <刷新> 按钮..."); SubFunction.saveLog(Param.logType.SYSLOG.ToString(), "机台调试:点击 <刷新> 按钮...\r\n"); }
private void btnS1_Click(object sender, EventArgs e) { SubFunction.updateMessage(lstCommandList, "机台调试:点击 <A板关机> 按钮..."); SubFunction.saveLog(Param.logType.SYSLOG.ToString(), "机台调试:点击 <A板关机> 按钮..."); sendPLC("S1"); }
private void CheckPort(ComboBox PortName, Message m) { if (m.Msg == WM_DEVICE_CHANGE) // 捕获USB设备的拔出消息WM_DEVICECHANGE { string portName = Marshal.PtrToStringUni((IntPtr)(m.LParam.ToInt32() + Marshal.SizeOf(typeof(DEV_BROADCAST_PORT_Fixed)))); switch (m.WParam.ToInt32()) { case DBT_DEVICE_REMOVE_COMPLETE: // USB拔出 DEV_BROADCAST_HDR dbhdr0 = (DEV_BROADCAST_HDR)Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_HDR)); if (dbhdr0.dbch_devicetype == DBT_DEVTYP_PORT) { try { // comboPortName.Items.Remove(portName); if (Btn_Test.Enabled) { getSerialPort(PortName); } else { //sp = new System.Media.SoundPlayer(global::SpotTestTester.Properties.Resources.ng); //sp.Play(); richTextBox_A.AppendText("串口调试: " + "串口编号" + portName + "已经离线" + "\n"); SubFunction.saveLog(Param.logType.SYSLOG.ToString(), "串口调试: " + "串口编号" + portName + "已经离线"); //SubFunction.updateMessage(lstStatusCommand, "偵测到串口丟失,請重新设置后點擊开始,若无法啟动,點擊Restart再點擊Start。"); //closePort(spPLC); //closePort(spSN); //pressStopButton(); } } catch (Exception ex) { //sp = new System.Media.SoundPlayer(global::SpotTestTester.Properties.Resources.ng); //sp.Play(); richTextBox_A.AppendText("串口调试: " + "Error," + ex.Message + "\n"); SubFunction.saveLog(Param.logType.SYSLOG.ToString(), "串口调试: " + "Error," + ex.Message); } Console.WriteLine("Port '" + portName + "' leaved."); } break; case DBT_DEVICEARRIVAL: // USB插入获取对应串口名称 DEV_BROADCAST_HDR dbhdr = (DEV_BROADCAST_HDR)Marshal.PtrToStructure(m.LParam, typeof(DEV_BROADCAST_HDR)); if (dbhdr.dbch_devicetype == DBT_DEVTYP_PORT) { getSerialPort(CB_SerialPort_A); getSerialPort(CB_SerialPort_B); //getSerialPort(CB_SerialPort_A); //getSerialPort(CB_SerialPort_B); //MessageBox.Show(CB_SerialPort_A.Text); //getSerialPort(comboDUTPort_B); //getSerialPort(comboFICTPort); richTextBox_A.AppendText("串口调试: 串口已检测到《" + portName + "》..." + "\n"); SubFunction.saveLog(Param.logType.SYSLOG.ToString(), "串口调试: 串口已检测到《" + portName + "》..."); Console.WriteLine("Port '" + portName + "' arrived."); } break; } } base.WndProc(ref m); }