Introduzione
Questo trucco illustra come inviare un messaggio sms tramite Vb.net e c#, con il compact framework 2.0. Da notare che sul pc dev'essere installato sdk mobile 5.0, perchè tali classi si trova con la versione windows mobile 5 e no precedenti.
Aggiungere al progetto il riferimento a Microsft.WindowsMobile.PocketOutlook fatto ciò, inserire il namespace PocketOutlook come riportato di seguito:
Vb.net
Imports Microsoft.WindowsMobile.PocketOutlook
C#
using Microsoft.WindowsMobile.PocketOutlook;
Di seguito si riporta il codice per l'invio di un sms, da inserire nell'evento click di un pulsante o dove lo si desidera. Il numero 4250010001 permette di ricevere sull'emulatore il messaggio sms inviato.
Vb.net
Try
'creazione dell'oggetto sms
Dim smsinvio As New SmsMessage()
'imposto il testo del messaggio
smsinvio.Body = "Esempio di invio"
'aggiungo il numero di telefono, il numero 4250010001 permette di inviare un sms all'emulatore altrimenti possiamo mettere anche il numero di un cellulare
smsinvio.To.Add(New Recipient("4250010001"))
'metodo per l'invio del messaggio sms
smsinvio.Send()
'gestione degli errori per sms
Catch exsms As InvalidSmsRecipientException
MessageBox.Show(exsms.Message, "InvioSms")
'errore per la gesteione di pockeoutlook
Catch expocket As PocketOutlookException
MessageBox.Show(expocket.Message, "InvioSmsm")
'errore generico
Catch ex As Exception
MessageBox.Show(ex.Message, "InvioSmsm")
End Try
C#
try
{
//creazione dell'oggetto sms
SmsMessage smsinvio = new SmsMessage();
//imposto il testo del messaggio
smsinvio.Body = "Esempio di invio";
//aggiungo il numero di telefono, il numero 4250010001 permette di inviare un sms all'emulatore altrimenti possiamo mettere anche il numero di un cellulare
smsinvio.To.Add(new Recipient("4250010001"));
//metodo per l'invio del messaggio sms
smsinvio.Send();
}
catch (InvalidSmsRecipientException exsms)
{
MessageBox.Show(exsms.Message);
}
catch ( PocketOutlookException expocket)
{
MessageBox.Show(expocket.Message);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}