Now you can send sms directly from your desktop using C#. Just connect your GSM modem to your computer and use the following code to build Your own sms software.
Now to build your own SMS software using visual studio in C# Just follow the following steps carefully.
Adding Namespaces:
using System.IO;
using System.IO.Ports;
///////////-Your Form Load Event-///////////////////////////
Now to build your own SMS software using visual studio in C# Just follow the following steps carefully.
Adding Namespaces:
using System.IO;
using System.IO.Ports;
///////////-Your Form Load Event-///////////////////////////
try { #region Display all available COM Ports string[] ports = SerialPort.GetPortNames(); // Add all port names to the combo box: foreach (string port in ports) { this.cboPortName.Items.Add(port); } #endregion //Remove tab pages this.tabSMSapplication.TabPages.Remove(tbSendSMS); this.tabSMSapplication.TabPages.Remove(tbReadSMS); this.tabSMSapplication.TabPages.Remove(tbDeleteSMS); this.btnDisconnect.Enabled = false; } catch(Exception ex) { ErrorLog(ex.Message); } //////////////-Connecting to GSM Modem-/////// try { //Open communication port this.port = objclsSMS.OpenPort(this.cboPortName.Text, Convert.ToInt32(this.cboBaudRate.Text), Convert.ToInt32(this.cboDataBits.Text), Convert.ToInt32(this.txtReadTimeOut.Text), Convert.ToInt32(this.txtWriteTimeOut.Text)); if (this.port != null) { //this.tabSMSapplication.TabPages.Remove(tbPortSettings); this.gboPortSettings.Enabled = false; MessageBox.Show("Modem is connected at PORT " + this.cboPortName.Text,"Free Csharp Tutorials.blogspot.Com"); //Add tab pages this.tabSMSapplication.TabPages.Add(tbSendSMS); this.tabSMSapplication.TabPages.Add(tbReadSMS); this.tabSMSapplication.TabPages.Add(tbDeleteSMS); this.lblConnectionStatus.Text = "Connected at " + this.cboPortName.Text; this.btnDisconnect.Enabled = true; } else { MessageBox.Show("Invalid port settings"); } } catch (Exception ex) { ErrorLog(ex.Message); } /////////-Disconnecting GSM Modem-//////////////////////// try { this.gboPortSettings.Enabled = true; objclsSMS.ClosePort(this.port); //Remove tab pages this.tabSMSapplication.TabPages.Remove(tbSendSMS); this.tabSMSapplication.TabPages.Remove(tbReadSMS); this.tabSMSapplication.TabPages.Remove(tbDeleteSMS); this.lblConnectionStatus.Text = "Not Connected"; this.btnDisconnect.Enabled = false; } catch (Exception ex) { ErrorLog(ex.Message); } //////-Sending MSG -////////////////////////////////////// try { if (objclsSMS.sendMsg(this.port, this.txtSIM.Text, this.txtMessage.Text)) { MessageBox.Show("Message has sent successfully"); } else { MessageBox.Show("Failed to send message"); } } catch (Exception ex) { ErrorLog(ex.Message); } } private void btnReadSMS_Click(object sender, EventArgs e) { try { //count SMS int uCountSMS = objclsSMS.CountSMSmessages(this.port); if (uCountSMS > 0) { // If SMS exist then read SMS #region Read SMS objShortMessageCollection = objclsSMS.ReadSMS(this.port); foreach (ShortMessage msg in objShortMessageCollection) { ListViewItem item = new ListViewItem(new string[] { msg.Index ,msg.Sender, msg.Message }); item.Tag = msg; lvwMessages.Items.Add(item); } #endregion } else { lvwMessages.Clear(); MessageBox.Show("There is no message in SIM"); } } catch (Exception ex) { ErrorLog(ex.Message); } } //////////////////////// Reading SMS /////////////////////////////// try { //count SMS int uCountSMS = objclsSMS.CountSMSmessages(this.port); if (uCountSMS > 0) { // If SMS exist then read SMS #region Read SMS objShortMessageCollection = objclsSMS.ReadSMS(this.port); foreach (ShortMessage msg in objShortMessageCollection) { ListViewItem item = new ListViewItem(new string[] { msg.Index ,msg.Sender, msg.Message }); item.Tag = msg; lvwMessages.Items.Add(item); } #endregion } else { lvwMessages.Clear(); MessageBox.Show("There is no message in SIM"); } ///////////////////////////////////-Deleting SMS From Modem SIM-///////////////////////// try { //Count SMS int uCountSMS = objclsSMS.CountSMSmessages(this.port); if (uCountSMS > 0) { DialogResult dr = MessageBox.Show("Are u sure u want to delete the SMS?", "Delete confirmation", MessageBoxButtons.YesNo); if (dr.ToString() == "Yes") { #region Delete SMS if (this.rbDeleteAllSMS.Checked) { #region Delete all SMS string strCommand = "AT+CMGD=1,4"; if (objclsSMS.DeleteMsg(this.port, strCommand)) { MessageBox.Show("Messages has deleted successfuly "); } else { MessageBox.Show("Failed to delete messages "); } #endregion } else if (this.rbDeleteReadSMS.Checked) { //...............................................Delete Read SMS .................................................... #region Delete Read SMS string strCommand = "AT+CMGD=1,3"; if (objclsSMS.DeleteMsg(this.port, strCommand)) { MessageBox.Show("Messages has deleted successfuly "); } else { MessageBox.Show("Failed to delete messages "); } #endregion } #endregion } } } catch (Exception ex) { ErrorLog(ex.Message); } } private void btnCountSMS_Click(object sender, EventArgs e) { try { //Count SMS int uCountSMS = objclsSMS.CountSMSmessages(this.port); this.txtCountSMS.Text = uCountSMS.ToString(); } catch (Exception ex) { ErrorLog(ex.Message); } } //////////////////////////////////////-Error Log -//////////////////////// public void ErrorLog(string Message) { StreamWriter sw = null; try { string sLogFormat = DateTime.Now.ToShortDateString().ToString() + " " + DateTime.Now.ToLongTimeString().ToString() + " ==> "; string sPathName = @"E:\"; string sYear = DateTime.Now.Year.ToString(); string sMonth = DateTime.Now.Month.ToString(); string sDay = DateTime.Now.Day.ToString(); string sErrorTime = sDay + "-" + sMonth + "-" + sYear; sw = new StreamWriter(sPathName + "SMSapplication_ErrorLog_" + sErrorTime + ".txt", true); sw.WriteLine(sLogFormat + Message); sw.Flush(); } catch (Exception ex) { ErrorLog(ex.ToString()); } finally { if (sw != null) { sw.Dispose(); sw.Close(); } } } #endregion } }
No comments:
Post a Comment