📄 form1.cs
字号:
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 + -