仅检测在本地计算机上创建的日历项目

Detecting calendar items created on local machine only

我正在编写一个 Outlook 插件,它需要跟踪日历项的创建。我正在使用以下代码来检测用户何时将某些内容添加到日历中:

            foreach (Account acc in _outlookApplication.Session.Accounts)
        {
            var calendar = acc.DeliveryStore.GetDefaultFolder(OlDefaultFolders.olFolderCalendar);
            var itemsCalendar = calendar.Items;
            itemsCalendar.ItemAdd += new ItemsEvents_ItemAddEventHandler(OnMeetingCreated);
        }

这在本地机器上运行良好,事件正常触发。但是,如果用户在两台计算机上设置了相同的电子邮件帐户,一旦辅助计算机上的 Outlook 同步并下载了用户在主计算机上新创建的会议项目,该事件也会在辅助计算机上触发。

有没有办法以某种方式忽略不是由用户在本地计算机上创建的会议?

如有任何帮助,我们将不胜感激。

所有数据都在本地 PC 上创建,无论是在 .pst 还是 .ost 文件中。如果您的加载项正在创建该项目,而您想在 ItemAdd 事件中忽略或处理该项目,那么您将需要管理一个内存中的项目集合,您要与之进行比较。

或者,您可以将机器特定的标记添加到项目中的自定义 属性,并将其用作比较的标志。