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; } }