using System;
using DotMSN;
// Author: Einar Egilsson
// http://tech.einaregilsson.com/2007/08/09/who-has-deleted-you-from-msn/
class MsnContactChecker
{
static Messenger msn = new Messenger();
static bool done = false;
static void Main(string[] args) {
string user, pass;
Console.Write("\nMsnContactChecker v1.0\n");
Console.Write("See ");
Console.Write("http://tech.einaregilsson.com/2007/08/09/who-has-deleted-you-from-msn/");
Console.Write(" for details\n");
Console.Write("\nUsername: ");
user = Console.ReadLine();
Console.Write("Password: ");
pass = Console.ReadLine();
Console.Write("\nConnecting to MSN...");
try {
msn.SynchronizationCompleted +=
new Messenger.SynchronizationCompletedHandler(OnSynchronizationCompleted);
msn.Connect(user.Trim(), pass.Trim());
Console.WriteLine("done");
Console.Write("Getting contact list...");
msn.SynchronizeList();
} catch (Exception ex) {
Console.WriteLine("Error: " + ex.Message);
Console.WriteLine("\nPress any key to quit program.");
Console.Read();
}
while (!done) {
System.Threading.Thread.Sleep(1000);
}
}
static void OnSynchronizationCompleted(Messenger msn, EventArgs e)
{
Console.WriteLine("done");
Console.WriteLine("\nContacts that don't have you in their list:\n");
int counter = 0;
foreach (Contact c in msn.ForwardList) {
counter++;
if (!c.OnReverseList && c.Mail == c.Name) {
Console.WriteLine(c.Mail);
} else if (!c.OnReverseList) {
Console.WriteLine("{0} ({1})", c.Name, c.Mail);
}
}
if (counter == 0) {
Console.WriteLine("All your contacts have you on their lists.");
}
msn.CloseConnection();
Console.WriteLine("\nPress any key to quit program.");
Console.Read();
done = true;
}
}