/// <summary> /// 更新界面操作选择 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void PROGRESS_KeyDown(object sender, KeyEventArgs e) { ShowPower(); if ((e.KeyValue > 48) && (e.KeyValue < (49 + _applicationCount))) { string msg; if (!WifiCtrl.GetInstance().isConnectWifi(_IpAddress, out msg)) { _outStr = msg; return; } textBox1.Text = "正在更新程序..."; listView1.Items[e.KeyValue - 49].SubItems[2].Text = "00000000"; CheckAppVersion(e.KeyValue - 49); MessageBox.Show("更新成功!"); textBox1.Text = "\r\n按(1-9)更新程序\r\n按ESC返回主界面"; tabControl1.SelectedIndex = tabControl1.TabPages.IndexOf(main); _nowControlModule = main_focus; main_focus.Focus(); } else if (e.KeyCode == Keys.Escape) { tabControl1.SelectedIndex = tabControl1.TabPages.IndexOf(main); _nowControlModule = main_focus; main_focus.Focus(); } else if (e.KeyCode == Keys.D8) { UpdateConfig(); } }
/// <summary> /// 新的通信方式 /// </summary> private void NewTransmit() { string msg; if (!WifiCtrl.GetInstance().isConnectWifi(_IpAddress, out msg)) { //MessageBox.Show(msg+",请换个地方重新开机!"); _outStr = msg; return; } CompactFormatter.TransDTO transDTO = new CompactFormatter.TransDTO(); transDTO.AppName = _applicationName; transDTO.CodeStr = _codeStr; transDTO.IP = _IpAddress; transDTO.pFlag = _pFlag; transDTO.StockNo = _stockNo; transDTO.Remark = msg; NetWorkScript.Instance.write(1, 1, 1, transDTO); NetWorkScript.Instance.AsyncReceive(); if (NetWorkScript.Instance.messageList.Count > 0) { SocketModel socketModel = NetWorkScript.Instance.messageList[0]; NetWorkScript.Instance.messageList.RemoveAt(0); _outStr = socketModel.message.ToString(); } else { NetWorkScript.Instance.release(); _outStr = "没有返回信息!"; } }
/// <summary> /// 主界面按键捕获 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void main_focus_KeyDown(object sender, KeyEventArgs e) { //MessageBox.Show(e.KeyValue.ToString(),"KEY_VALUE"); //statusBar1.Text = e.KeyValue.ToString(); switch (e.KeyCode) { case Keys.D0: quitFlag = 0; textBox1.Text = "\r\n按(1-9)更新程序\r\n按ESC返回主界面"; tabControl1.SelectedIndex = tabControl1.TabPages.IndexOf(update); _nowControlModule = PROGRESS; PROGRESS.Focus(); break; case Keys.D9: quitFlag = 0; tb_testMsg.BackColor = Color.Gray; tb_testMsg.Text = "\r\n\r\n 测试界面\r\n\r\n 按1开始自动检测\r\n\r\n 按ESC返回主界面"; tabControl1.SelectedIndex = tabControl1.TabPages.IndexOf(test); _nowControlModule = tb_test_focus; _nowControlModule.Focus(); break; case Keys.Escape: if (quitFlag > 5 && quitFlag < 90) { quitFlag = 0; Quit(); } else if (quitFlag > 90) { quitFlag = 0; } break; case Keys.Back: if (quitFlag < 6) { quitFlag++; } break; case Keys.Space: tabControl1.SelectedIndex = tabControl1.TabPages.IndexOf(test); _nowControlModule = null; break; } if ((e.KeyValue > 48) && (e.KeyValue < (49 + _applicationCount))) { string msg; if (!WifiCtrl.GetInstance().isConnectWifi(_IpAddress, out msg)) { _outStr = msg; return; } if (quitFlag == 99) { return; } quitFlag = 99; CheckAppVersion(e.KeyValue - 49); SwitchApp(e.KeyValue - 49); } }
/// <summary> /// 初始化 /// </summary> private void init() { //ShowWindow(this.Handle, SW_SHOW); //SetForegroundWindow(this.Handle); //SetWindowPos(this.Handle, -1, 0, 0, 0, 0, 1 | 2); //m_socketClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); status = new SYSTEM_POWER_STATUS_EX(); quitFlag = 0; _outStr = ""; _codeStr = ""; _applicationName = "AutoUpdate"; _pFlag = 98; _applicationCount = 0; tabControl1.SelectedIndex = tabControl1.TabPages.IndexOf(main); _nowControlModule = main_focus; try { _IpAddress = WifiCtrl.GetInstance().GetWifiStatus().CurrentIpAddress.ToString(); if (_IpAddress == "0.0.0.0") { _IpAddress = IPHelper.GetIpAddress(); } } catch { _IpAddress = IPHelper.GetIpAddress(); } main_focus.Focus(); //Disconnect(); //Connect(); listView1.Items.Clear(); XmlDocument xml = new XmlDocument(); try { //openFileDialog1.ShowDialog(); //string path = openFileDialog1.FileName; xml.Load("\\Program Files\\CONFIG.XML"); //XmlNode Setting = xml.SelectSingleNode("Root/System"); _serverIP = xml.SelectSingleNode("Root/System/server_ip").InnerText; _serverPort = int.Parse(xml.SelectSingleNode("Root/System/server_port").InnerText); _stockNo = xml.SelectSingleNode("/Root/System/stock_no").InnerText; XmlNodeList Application = xml.SelectSingleNode("Root/Applications").ChildNodes; foreach (XmlNode app in Application) { //MessageBox.Show(app.SelectSingleNode("name").InnerText,"app"); AddListviewItem(app.SelectSingleNode("name").InnerText, app.Name, app.SelectSingleNode("version").InnerText , app.SelectSingleNode("wince_path").InnerText, app.SelectSingleNode("pc_path").InnerText); } } catch { //MessageBox.Show(ee.Message, "错误"); UpdateConfig(); } //HideTaskBar(); //Connect(); ShowPower(); label4.Text = "IP地址:" + _IpAddress; }
private void Test() { WirelessNetworkInterface wni = WifiCtrl.GetInstance().GetWifiStatus(); int count = 0; int rtt = 0; int rttTotal = 0; string tmp = ""; string errMsg = ""; tb_testMsg.BackColor = Color.Gray; tb_testMsg.Text = "\r\n [1]开始检测Wifi..."; if (wni.InterfaceOperationalStatus == InterfaceOperationalStatus.NonOperational) { tb_testMsg.Text = "\r\n\r\n 检测结果\r\n 连接不到Wifi!\r\n\r\n"; tb_testMsg.BackColor = Color.Red; return; } else { tb_testMsg.Text += "连接正常\r\n SSID:" + wni.AssociatedAccessPoint + " 信号:"; switch (wni.SignalStrength.Strength) { case StrengthType.NoSignal: tb_testMsg.Text += "没信号"; errMsg = "Wifi信号弱;"; break; case StrengthType.VeryLow: tb_testMsg.Text += "极低"; errMsg = "Wifi信号弱;"; break; case StrengthType.Low: tb_testMsg.Text += "低"; break; case StrengthType.Good: tb_testMsg.Text += "好"; break; case StrengthType.VeryGood: tb_testMsg.Text += "很好"; break; case StrengthType.Excellent: tb_testMsg.Text += "极好"; break; } } tmp = "\r\n\r\n [2]测试连接服务器..."; tb_testMsg.Text += tmp; for (int i = 0; i < 10; i++) { if (WifiCtrl.GetInstance().Ping(_serverIP, out rtt)) { count++; rttTotal += rtt; } else { rttTotal += 500; } } tb_testMsg.Text += "连接正常\r\n 状态:"; if (count > 7) { tb_testMsg.Text += "很好"; } else if (count > 5 && count < 8) { tb_testMsg.Text += "一般"; } else if (count > 2 && count < 6) { tb_testMsg.Text += "较慢"; errMsg += "连接不稳定;"; } else if (count < 3) { tb_testMsg.Text = "\r\n\r\n 检测结果\r\n\r\n\r\n 网络异常!\r\n\r\n"; tb_testMsg.ForeColor = Color.Red; return; } tb_testMsg.Text += "\r\n 丢包[" + count + "/10] 延迟:" + rttTotal / 10 + "ms\r\n"; if (count > 2) { tb_testMsg.Text += "\r\n [3]测试通讯功能..."; //if (m_socketClient != null) //{ //this.Disconnect(); // } //this.Connect(); _pFlag = 97; _codeStr = tb_testMsg.Text; //SendOneDatagram(); NewTransmit(); if (_outStr == "test") { tb_testMsg.Text += "通讯正常\r\n"; } else { tb_testMsg.Text = " \r\n\r\n 检测结果\r\n\r\n\r\n 与服务器通讯异常!\r\n\r\n"; tb_testMsg.BackColor = Color.Red; return; } //if (m_socketClient != null) //{ //this.Disconnect(); // } } int now_power = GetPower(); if (now_power > 0 && now_power < 25) { errMsg += "电量低;"; } if (errMsg == "") { tb_testMsg.Text += "\r\n [4]测试结果:正常\r\n\r\n"; tb_testMsg.BackColor = Color.Green; } else { tb_testMsg.BackColor = Color.Yellow; tb_testMsg.Text += "\r\n [4]不理想,有以下问题:\r\n " + errMsg + "\r\n\r\n"; } tb_testMsg.Text += " 按1重新检测\r\n 按ESC返回主界面"; }