示例#1
0
 public OutlookProcessor() : base(null, false)
 {
     _tracer = new Tracer("OutlookProcessor");
     try
     {
         OutlookSession.Init(this);
         OnSettingsChanged(null, null);
         IdlePeriod       = Settings.IdlePeriod * 60000;
         ThreadName       = "Outlook AsyncProcessor";
         ThreadPriority   = ThreadPriority.Normal;
         ThreadStarted   += new EventHandler(_outlookProcessor_ThreadStarted);
         ThreadFinished  += new EventHandler(_outlookProcessor_ThreadFinished);
         ProcessMessages  = true;
         ExceptionHandler = new AsyncExceptionHandler(HandleException);
         _UIManager       = Core.UIManager;
         _UIManager.RegisterIndicatorLight("Outlook", this, 10,
                                           OutlookPlugin.LoadIconFromAssembly("OutlookPlugin.Icons.outlook_idle.ico"),
                                           OutlookPlugin.LoadIconFromAssembly("OutlookPlugin.Icons.outlook_busy.ico"),
                                           OutlookPlugin.LoadIconFromAssembly("OutlookPlugin.Icons.outlook_stuck.ico"));
         _UIManager.MainWindowClosing += new System.ComponentModel.CancelEventHandler(_UIManager_MainWindowClosing);
         StartThread();
         _inited = true;
     }
     catch (Exception exception)
     {
         SetLastException(exception);
     }
 }