⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 短信发送
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace VMSMSTool
{
    public partial class Form1 : Form
    {
        private bool cdmaInitFlg = false; 
        SMSControl smscontrol = new SMSControl();
        private string _strComPort="";
        public string strComPort
        {
            get
            {
                if (_strComPort != "")
                {
                    return _strComPort;
                }
                else
                {
                    return "COM1";
                }
            }
            set
            {
                _strComPort = value;
            }
        }
        private string _strSMsg = "";
        public string strSMsg
        {
            get
            {
                if (_strSMsg != "")
                {
                    return _strSMsg;
                }
                else
                {
                    return "报警!请关注!";
                }
            }
            set
            {
                _strSMsg = value;
            }
        }
        private string _localAreaCode = "";
        public string localAreaCode
        {
            get
            {
                return _localAreaCode;
            }
            set
            {
                _localAreaCode = value;
            }
        }
        private string _phoneCode = "";
        public string phoneCode
        {
            get
            {
                return _phoneCode;
            }
            set
            {
                _phoneCode = value;
            }
        }
        private string _bitRate = "";
        public string bitRate
        {
            get
            {
                if(_bitRate=="")
                {
                    return "115200";
                }
                else
                {
                    return _bitRate;
                }
            }
            set
            {
                _bitRate = value;
            }
        }
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.Height=250;
        }
        string lastAlarmDev;
        string lastAlarmTime;
        void axVideo_SV_ALARM(object sender, AxSV_VideoLib._DVideoEvents_SV_ALARMEvent e)
        {
            //throw new Exception("The method or operation is not implemented.");
            if(cdmaInitFlg)
            {
                string[] alarm;
                alarm = e.alarmInfo.Split(',');

                
                if (lastAlarmTime != null)
                {
                    TimeSpan ts = DateTime.Parse(alarm[2]) - DateTime.Parse(lastAlarmTime);
                    if ((alarm[0] == lastAlarmDev) && ts.TotalSeconds < 10)
                    {
                        return;
                    }
                }
                lastAlarmTime = alarm[2];
                lastAlarmDev = alarm[0];
                string alarmMsg = alarm[0] + strSMsg + "时间:" + alarm[2];
                string cmd;
                cmd = "AT$HSMSSD=" + phoneCode + ", " + alarmMsg.Length + ", " + 1 + ", " + 2 + "\r";
                System.Text.ASCIIEncoding uen1 = new System.Text.ASCIIEncoding();
                byte[] cmdmsg = uen1.GetBytes(cmd);
                byte[] almsg = Un2bytes(alarmMsg);

                byte[] msg = new byte[cmdmsg.Length + almsg.Length];
                for (int i = 0; i < cmdmsg.Length; i++)
                {
                    msg[i] = cmdmsg[i];

                }
                for (int i = cmdmsg.Length; i < almsg.Length + cmdmsg.Length; i++)
                {
                    msg[i] = almsg[i - cmdmsg.Length];
                }
                serialPort.Write(msg, 0, msg.Length);
                Thread.Sleep(50);
                if (!CheckResponse("OK"))
                {
                    ListViewItem lvi;
                    ListViewItem.ListViewSubItem lvsi;
                    this.listView1.BeginUpdate();

                    lvi = new ListViewItem();
                    lvi.Text = "发送短信失败!";
                    //解析文件大小
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = DateTime.UtcNow.ToString();
                    lvi.SubItems.Add(lvsi);
                    //列表中增加一行
                    this.listView1.Items.Add(lvi);
                    this.listView1.EndUpdate();
                   // MessageBox.Show("发送短信失败1!");
                    return;
                }
                else
                {
                    ListViewItem lvi;
                    ListViewItem.ListViewSubItem lvsi;
                    this.listView1.BeginUpdate();

                    lvi = new ListViewItem();
                    lvi.Text = "发送短信成功!";
                    //解析文件大小
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = DateTime.UtcNow.ToString();
                    lvi.SubItems.Add(lvsi);
                    //列表中增加一行
                    this.listView1.Items.Add(lvi);
                    this.listView1.EndUpdate();
                }

            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            strSMsg = textBox3.Text;
            localAreaCode = textBox1.Text;
            phoneCode = textBox2.Text;
            string alarmMsg = this.textBox3.Text;
            string cmd;
            cmd = "AT$HSMSSD=" + phoneCode + ", " + alarmMsg.Length + ", " + 1 + ", " + 2 + "\r";
            System.Text.ASCIIEncoding uen1 = new System.Text.ASCIIEncoding();
            byte[] cmdmsg = uen1.GetBytes(cmd);
            byte[] almsg = Un2bytes(alarmMsg);

            byte[] msg = new byte[cmdmsg.Length + almsg.Length];
            for (int i = 0; i < cmdmsg.Length; i++)
            {
                msg[i] = cmdmsg[i];

            }
            for (int i = cmdmsg.Length; i < almsg.Length + cmdmsg.Length; i++)
            {
                msg[i] = almsg[i - cmdmsg.Length];
            }
            serialPort.Write(msg, 0, msg.Length);
            Thread.Sleep(50);
            if(!CheckResponse("OK"))
            {
                ListViewItem lvi;
                ListViewItem.ListViewSubItem lvsi;
                this.listView1.BeginUpdate();

                lvi = new ListViewItem();
                lvi.Text = "发送短信失败!";
                //解析文件大小
                lvsi = new ListViewItem.ListViewSubItem();
                lvsi.Text = DateTime.UtcNow.ToString();
                lvi.SubItems.Add(lvsi);
                //列表中增加一行
                this.listView1.Items.Add(lvi);
                this.listView1.EndUpdate();
            }
            else
            {
                ListViewItem lvi;
                ListViewItem.ListViewSubItem lvsi;
                this.listView1.BeginUpdate();

                lvi = new ListViewItem();
                lvi.Text = "发送短信成功!";
                //解析文件大小
                lvsi = new ListViewItem.ListViewSubItem();
                lvsi.Text = DateTime.UtcNow.ToString();
                lvi.SubItems.Add(lvsi);
                //列表中增加一行
                this.listView1.Items.Add(lvi);
                this.listView1.EndUpdate();
            }

        }
        private bool QueryExistByRWCmd()
        {
            serialPort.NewLine = "\r";
            for (int i = 0; i < 3; i++)
            {
                serialPort.WriteLine("AT");
                if (CheckResponse("OK"))
                {
                    return true;
                }
            }
            return false;
        }
        private bool CheckResponse(string msg)
        {
            byte[] buffer = new byte[1000];
            for(int i=0;i<3;i++)
            {
                int len = serialPort.Read(buffer, 0, buffer.Length);
                string readMsg = Encoding.GetEncoding("GBK").GetString(buffer, 0, len);
                if (readMsg.Contains(msg))
                {
                    return true;
                }
            }
            return false;
        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -