Beispiel #1
0
        private void IMWindowCreated(object sender, IMWindowCreatedEventArgs e)
        {
            try
            {
                OCMessageWindow           windows   = new OCMessageWindow();
                IMessengerWindow          pIMWindow = (IMessengerWindow)e.pIMWindow;
                IMessengerConversationWnd wnd       = (IMessengerConversationWnd)pIMWindow;
                windows.WindowHWND = e.pIMWindow.GetHashCode().ToString();
                windows.BeginTime  = DateTime.Now;

                IMessengerContacts contacts = (IMessengerContacts)wnd.Contacts;

                for (int i = 0; i < contacts.Count; i++)
                {
                    windows.ContactsList.Add(((IMessengerContact)contacts.Item(i)).SigninName);
                }

                messageWindowList.Add(windows);
                windows.Run(pIMWindow);
                windows.SaveHistroyEvent += windows_SaveHistroyEvent;
            }
            catch (Exception exception)
            {
                logger.Error(exception);
            }
        }
Beispiel #2
0
        private void IMWindowContactAdded(object sender, IMWindowContactAddedEventArgs e)
        {
            try
            {
                string                    winID     = e.pIMWindow.GetHashCode().ToString();
                IMessengerWindow          pIMWindow = (IMessengerWindow)e.pIMWindow;
                IMessengerConversationWnd wnd       = (IMessengerConversationWnd)pIMWindow;
                IMessengerContacts        contacts  = (IMessengerContacts)wnd.Contacts;

                if (contacts.Count > 1)
                {
                    List <string> list = new List <string>(contacts.Count);

                    for (int i = 0; i < contacts.Count; i++)
                    {
                        list.Add(((IMessengerContact)contacts.Item(i)).SigninName);
                    }

                    OCMessageWindow windows = GetMessageWindow(winID);
                    windows.ContactsList.AddRange(list.Where(f => !windows.ContactsList.Contains(f)));
                }
            }
            catch (Exception exception)
            {
                logger.Error(exception);
            }
        }
Beispiel #3
0
 public void Run(IMessengerWindow iMWindow)
 {
     try
     {
         doneEvent = new AutoResetEvent(false);
         ThreadParameter parameter = new ThreadParameter();
         parameter.doneEvent = this.doneEvent;
         parameter.IMWindow  = iMWindow;
         saveThread          = new Thread(new ParameterizedThreadStart(this.SaveHistroyMethod));
         saveThread.Start(parameter);
     }
     catch (COMException comExp)
     {
         logger.Error(comExp);
     }
     catch (Exception exp)
     {
         logger.Error(exp);
     }
 }
Beispiel #4
0
 public MessengerWindow(IMessengerWindow window) => this._window = window;