Example #1
0
 /// <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();
     }
 }
Example #2
0
        /// <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 = "没有返回信息!";
            }
        }
Example #3
0
        /// <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);
            }
        }
Example #4
0
        /// <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;
        }
Example #5
0
        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返回主界面";
        }