1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
namespace SMSinterceptor
{
public partial class Form1 : Form
{
MessageInterceptor _smsInterceptor = null;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// Default constructor indicates that message handling should occur
// on the main application thread, and message should be passed
// to other message interceptors and to the SMS message reader
_smsInterceptor = new MessageInterceptor();
// The name is reported in the form of the Contact's File As field
// Therefore must check for "Smith, John", not "John Smith"
_smsInterceptor.MessageCondition =
new MessageCondition(MessageProperty.Sender,
MessagePropertyComparisonType.Contains, "Smith, John", false);
_smsInterceptor.MessageReceived += SmsInterceptor_MessageReceived;
}
void SmsInterceptor_MessageReceived(object sender, MessageInterceptorEventArgs e)
{
// Cast to SmsMessage to access message body
// Not expecting to receive any non-SMS messages but use "as" to
// cast to be extra safe
SmsMessage newMessage = e.Message as SmsMessage;
if (newMessage != null)
{
statusBar1.Text = "From:" + newMessage.From.Address;
Debug.WriteLine(string.Format("Sender:{0} - Body:{1}", _
newMessage.From.Address, newMessage.Body));
}
}
private void Form1_Closed(object sender, EventArgs e)
{
if (_smsInterceptor != null)
{
// Remove event handler to assure proper registry cleanup
_smsInterceptor.MessageReceived -= SmsInterceptor_MessageReceived;
_smsInterceptor.Dispose();
}
}
}
} |
Partager