Sending SMS Via Windows Form Application Using any Android Smart Phone
Source Code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using GsmComm.GsmCommunication;
using GsmComm.Interfaces;
using GsmComm.PduConverter;
using GsmComm.Server;
using System.IO;
using System.Data.OleDb;
using System.Management;
namespace Helper
{
public partial class Form1 : Form
{
public static Int16 Comm_Port = 0;
public static Int32 Comm_BaudRate = 0;
public static Int32 Comm_TimeOut = 0;
public static GsmCommMain comm;
DataSet dataSet, dataSet1 = new DataSet();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string CELL_Number, SMS_Message;
SmsSubmitPdu pdu1;
try
{
if (comm.IsConnected() == true)
{
if (Cell_Num.Text.ToString() == "")
{
MessageBox.Show("Kindly Add Cell Number\r\n\nFor Example\n\n+9231234567", "Information", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
else if (SMS_Text.Text.ToString() == "")
{
MessageBox.Show("Kindly Add Your Message Text", "Information", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
CELL_Number = Cell_Num.Text.ToString();
SMS_Message = SMS_Text.Text.ToString();
MessageBox.Show("Kindly Re-Check Your SMS & CELL NUMBER \r\n\nCELL # : " + CELL_Number + "\r\n\nMESSAGE TEXT : "+SMS_Message ,"SMS INFO", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
try
{
Cursor.Current = Cursors.WaitCursor;
pdu1 = new SmsSubmitPdu(SMS_Message, CELL_Number, "");
comm.SendMessage(pdu1);
Cursor.Current = Cursors.Default;
MessageBox.Show("M E S S A G E - S E N T", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception E5)
{
MessageBox.Show("Error Sending SMS To Destination Address\r\n\n Connection Has Been Terminated !!!\r\n\n", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
comm.Close();
button9.Enabled = true;
button10.Enabled = false;
Single_SMS.Enabled = false;
dataGridView3.Rows.Clear();
}
}
else
{
MessageBox.Show("No GSM Phone / Modem Connected", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
catch (Exception E10)
{
MessageBox.Show("CONNECTION ERROR", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Form1_Load(object sender, EventArgs e)
{
button10.Enabled = false;
}
private void label30_DoubleClick(object sender, EventArgs e)
{
MessageBox.Show(":-)\r\n\nLet The SMS Begin...!!!", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void button9_Click(object sender, EventArgs e)
{
//Setting the column grid for fetched data
dataGridView3.ColumnCount = 5;
dataGridView3.Columns[0].Name = "COM Port";
dataGridView3.Columns[1].Name = "Connected Device";
dataGridView3.Columns[2].Name = "Max Baud Rate";
dataGridView3.Columns[3].Name = "Time Out";
dataGridView3.Columns[4].Name = "Status";
dataGridView3.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
try
{
Cursor.Current = Cursors.WaitCursor;
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_SerialPort");
foreach (ManagementObject queryObj in searcher.Get())
{
if (queryObj != null)
{
object captionObj = queryObj["DESCRIPTION"];
object capdeviceid = queryObj["DEVICEID"];
object MaxBaudRate = queryObj["MAXBAUDRATE"];
object connstatus = queryObj["STATUS"];
string timeoutsec = "100";
dataGridView3.Rows.Add(capdeviceid, captionObj, MaxBaudRate, timeoutsec, connstatus);
}
}
}
catch (Exception e15)
{
MessageBox.Show("An error occurred while querying for WMI data: " + e15.Message);
}
Cursor.Current = Cursors.Default;
button9.Enabled = false;
button10.Enabled = true;
}
private void dataGridView3_CellClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewCellStyle style = new DataGridViewCellStyle();
style.Font = new Font(dataGridView3.Font, FontStyle.Bold);
style.BackColor = Color.Green;
style.ForeColor = Color.White;
int i = dataGridView3.CurrentRow.Index;
try
{
Comm_Port = Convert.ToInt16(dataGridView3.Rows[i].Cells[0].Value.ToString().Substring(3));
Comm_BaudRate = Convert.ToInt32(dataGridView3.Rows[i].Cells[2].Value.ToString());
Comm_TimeOut = Convert.ToInt32(dataGridView3.Rows[i].Cells[3].Value.ToString());
}
catch (Exception E1)
{
// MessageBox.Show("Select a phone Model", "Check COM Port Values", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
comm = new GsmCommMain(Comm_Port, Comm_BaudRate, Comm_TimeOut);
try
{
comm.Open();
if (comm.IsConnected())
{
// pictureBox3.Image = imageList1.Images[1];
MessageBox.Show("Connected Successfully To Mobile ", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
dataGridView3.Rows[i].Cells[4].Value = "Connected";
dataGridView3.Rows[i].DefaultCellStyle = style;
dataGridView3.ClearSelection();
Single_SMS.Enabled = true;
}
try
{
//Phone_Name.Text = comm.IdentifyDevice().Manufacturer.ToUpper().ToString();
//Phone_Model.Text = comm.IdentifyDevice().Model.ToUpper().ToString();
//Revision_Num.Text = comm.IdentifyDevice().Revision.ToUpper().ToString();
//Serial_Num.Text = comm.IdentifyDevice().SerialNumber.ToUpper().ToString();
}
catch (Exception e50)
{
MessageBox.Show("Error Retriving COM Port Phone Information", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception E2)
{
//MessageBox.Show("Error While Connecting To GSM Phone / Modem", "Information", MessageBoxButtons.OK, MessageBoxIcon.Error);
dataGridView3.ClearSelection();
}
}
private void button10_Click_1(object sender, EventArgs e)
{
try
{
if (!comm.IsConnected())
{
MessageBox.Show("No Phone Connected", "Information", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
else
{
comm.Close();
button9.Enabled = true;
button10.Enabled = false;
Single_SMS.Enabled = false;
dataGridView3.Rows.Clear();
MessageBox.Show("Disconnected Successfully", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception No_Conn)
{
MessageBox.Show("No Phone Connected!!\r\n\n" + No_Conn, "Information", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
try
{
if (comm.IsOpen() == true)
{
comm.Close();
}
}
catch (Exception E16)
{
Application.Exit();
}
Application.Exit();
}
private void SMS_Text_TextChanged(object sender, EventArgs e)
{
// label4.Text = "Characters Left : "+(160 - SMS_Text.Text.Length).ToString();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
private void SMS_Text_Click(object sender, EventArgs e)
{
SMS_Text.Text = "";
}
private void comboBox1_Click(object sender, EventArgs e)
{
comboBox1.DroppedDown = true;
}
private void SMS_Text_Click_1(object sender, EventArgs e)
{
SMS_Text.Text = "";
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void Single_SMS_Click(object sender, EventArgs e)
{
string CELL_Number, SMS_Message;
SmsSubmitPdu pdu1;
try
{
if (comm.IsConnected() == true)
{
if (Cell_Num.Text.ToString() == "")
{
MessageBox.Show("Kindly Add Cell Number\r\n\nFor Example\n\n+9231234567", "Information", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
else if (SMS_Text.Text.ToString() == "")
{
MessageBox.Show("Kindly Add Your Message Text", "Information", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
CELL_Number = Cell_Num.Text.ToString();
SMS_Message = SMS_Text.Text.ToString();
// MessageBox.Show("Kindly Re-Check Your SMS & CELL NUMBER \r\n\nCELL # : " + CELL_Number + "\r\n\nMESSAGE TEXT : " + SMS_Message, "SMS INFO", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
try
{
Cursor.Current = Cursors.WaitCursor;
pdu1 = new SmsSubmitPdu(SMS_Message, CELL_Number, "");
comm.SendMessage(pdu1);
Cursor.Current = Cursors.Default;
MessageBox.Show("Message Sent Successfully!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception E5)
{
MessageBox.Show("Error Sending SMS To Destination Address\r\n\n Connection Has Been Terminated !!!\r\n\n", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
comm.Close();
button9.Enabled = true;
button10.Enabled = false;
Single_SMS.Enabled = false;
}
}
else
{
MessageBox.Show("No GSM Phone / Modem Connected", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
catch (Exception E10)
{
MessageBox.Show("CONNECTION ERROR", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Single_SMS_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
Single_SMS.PerformClick();
}
}
}
}


No comments:
Post a Comment