2012-07-31 30 views
2

我正在开发一个Outlook AddIn。其中一部分是我在特定文件夹中组织约会。我想捕获一个元素是否被删除(在这种情况下,移出“我的”文件夹会被删除)。如何捕获自定义文件夹上的Outlook约会删除事件?

我发现文章https://stackoverflow.com/questions/10579240/how-to-capture-a-c-sharp-outlook-addin-appointment-delete-event和他/她的解决方案有很多帮助,但我有一个很大的问题:事件只在该会话中触发,我的文件夹被创建,而不是从Outlook中获取文件夹对象时触发。

我的代码如下所示:

private Outlook.MAPIFolder _CalendarMAPIFolder = null; 
private Outlook.MAPIFolderEvents_12_Event _CalendarFolder = null; 
private Outlook.Items _CalendarItems = null; 

private void ThisAddIn_Startup(object sender, System.EventArgs e) 
{ 
    Outlook.MAPIFolder calendarFolder = 
     this.Application.GetNamespace("mapi").GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar); 

    // get my-Folder (if not found, create it) 
    try 
    { 
     _CalendarMAPIFolder = calendarFolder.Folders["my-Folder"]; 
    } 
    catch 
    { 
     _CalendarMAPIFolder = calendarFolder.Folders.Add("my-Folder"); 
    } 
    _CalendarItems = _CalendarMAPIFolder.Items; 
    _CalendarFolder = _CalendarMAPIFolder as Outlook.MAPIFolderEvents_12_Event; 
    if (_CalendarFolder == null) 
    { 
     MessageBox.Show("can not cast MAPIFolder to Folder"); 
    } 


    _CalendarFolder.BeforeItemMove += new Outlook.MAPIFolderEvents_12_BeforeItemMoveEventHandler(Folder_BeforeItemMove); 
    Debug.Print("events registered"); 
} 
public void Folder_BeforeItemMove(
     Object Item, 
     Outlook.MAPIFolder MoveTo, 
     ref bool Cancel) 
{ 
    Outlook.AppointmentItem aitem = Item as Outlook.AppointmentItem; 
    string s = ""; 
    if (aitem != null) s = aitem.Subject; 
    //Cancel = false; 
    MessageBox.Show("Test! " + s); 
} 

有没有人有办法解决吗?

谢谢;)

编辑:我仍然没有线索:(((((((当用户(Outlook客户端)启动

回答

0

这都是微软的错!这是一个错误,我只需要更新Outlook!

0

根据定义,BeforeItemMove只有火灾的Item是(即Exchange同步

如果您要将Outlook连接到Exchange Server,则应该查看EWS()Exchange Web Services)如果您希望在客户端应用程序之外notified of folder change events,即会话)。 EWS提供推送,拉取或流式通知选项。您将附加通知给"Item deletion" operation

+0

谢谢,但这不是问题。通过“会议”,我可以了解开放展望和结束展望的时间。 - >事件只会在我删除文件夹,关闭Outlook,然后再次打开时触发。 ...但每次删除文件夹都会破坏我的插件的感觉 – Xaw4 2012-08-01 08:53:12

相关问题