📄 frmsendsms.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace SMS.Forms
{
public partial class frmSendSMS : Form
{
private static frmSendSMS sendSMS;//声明一个私有变量,用来保存唯一的窗体实例
public string content;
public string ResviceNum;
public static string NUM;
public static string JQCOM;
public static string BTL;
public string Power = "YIWU-IJDD-CDQW-JDWG";
public static int k = 0;
public static int j = 0;
public frmSendSMS()
{
InitializeComponent();
}
//提供一个静态方法,此方法是用来判断何时实例化窗体
public static frmSendSMS Instance()
{
if (sendSMS == null)
sendSMS = new frmSendSMS();
return sendSMS;
}
private void frmSendSMS_FormClosing(object sender, FormClosingEventArgs e)
{
sendSMS.Dispose(true);
sendSMS = null;
}
private void AddMessage(string num, string strcontent, string sendtime)
{
OleDbConnection conn = BaseClass.ConnClass.DataConn();
conn.Open();
OleDbCommand cmd = new OleDbCommand("insert into tb_TelSend([TelNum],[TelContent],[TelTime]) values('" + num + "','" + strcontent + "','" + sendtime + "')", conn);
cmd.ExecuteNonQuery();
conn.Close();
}
private void SendSms(string strcom, string strbtl)
{
try
{
//连接设备
if (BaseClass.GSM.GSMModemInitNew(strcom, strbtl, null, null, false, Power) == false)
{
MessageBox.Show("连接设备失败!" + BaseClass.GSM.GSMModemGetErrorMsg(), "提示", MessageBoxButtons.OK);
return;
}
//发送短信
j = lvInceptNum.Items.Count;
for (int i = 0; i < lvInceptNum.Items.Count; i++)
{
AddMessage(lvInceptNum.Items[i].Text, txtSmsContent.Text, DateTime.Now.ToString());
if (BaseClass.GSM.GSMModemSMSsend(null, 8, content, Encoding.Default.GetByteCount(content), lvInceptNum.Items[i].Text, false) == true)
k++;
}
if (k == j)//如果K等于j,说明短信发送成功
{
MessageBox.Show("短信发送成功!", "提示", MessageBoxButtons.OK);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void frmSendSMS_Load(object sender, EventArgs e)
{
txtaddnum.Focus();
NUM = BaseClass.GSM.GSMModemGetSnInfoNew(JQCOM, BTL); //机器号码
JQCOM = BaseClass.GSM.GSMModemGetDevice(); //COM1
BTL = BaseClass.GSM.GSMModemGetBaudrate(); //波特率
}
private void btnIncept_Click(object sender, EventArgs e)
{
if (txtaddnum.Text == "")
{
MessageBox.Show("输入的电话号码不能为空!", "提示");
}
else
{
if (txtaddnum.Text.Length < 11)
{
MessageBox.Show("手机号码为11位!", "提示");
return;
}
}
if (lvInceptNum.Items.Count > 0) //判断是否存在短信接收者
{
for (int i = 0; i < lvInceptNum.Items.Count; i++)
{
if (lvInceptNum.Items[i].Text == txtaddnum.Text) //判断是否输入了相同的号码
{
MessageBox.Show("此号码已经添加过了!", "提示");
return;
}
}
lvInceptNum.Items.Add(txtaddnum.Text);
txtaddnum.Text = "";
}
else
{
lvInceptNum.Items.Add(txtaddnum.Text);
txtaddnum.Text = "";
}
}
private void btnDelIncept_Click(object sender, EventArgs e)
{
if (lvInceptNum.Items.Count > 0)
{
foreach (ListViewItem it in lvInceptNum.SelectedItems)
{
lvInceptNum.Items.Remove(it);
}
}
else
{
MessageBox.Show("没有电话号码!", "提示");
}
}
private void btnSelTel_Click(object sender, EventArgs e)
{
}
private void btnInsert_Click(object sender, EventArgs e)
{
}
private void btnSend_Click(object sender, EventArgs e)
{
if (lvInceptNum.Items.Count > 0)
{
if (ckbselect.Checked)//判断“自动加入接收者称呼”是否选中
{
content = "老朋友:" + txtSmsContent.Text;
}
else
{
content = txtSmsContent.Text;//获取短信内容
}
if (this.lvInceptNum.Items.Count <= 0)
{
MessageBox.Show("短信内容不能为空!", "提示", MessageBoxButtons.OK);
txtSmsContent.Focus();
return;
}
SendSms(JQCOM, BTL); //自定义的方法,用来发送短信
}
else
{
MessageBox.Show("请输入接收的电话号码!", "提示");
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -