我使用 Redemption 为 Outlook 加载项编写了以下包装类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
namespace PSTAttachRemove_Redemption
{
class PSTWatch
{
private Redemption.RDOPstStore pst;
public PSTWatch(Redemption.RDOPstStore rPST)
{
pst = rPST;
pst.OnMessageMoved += new Redemption.IRDOStoreEvents_OnMessageMovedEventHandler(pst_OnMessageMoved);
}
void pst_OnMessageMoved(string EntryID)
{
Debug.Print(EntryID);
}
}
}
在我的主要加载项代码中,我使用以下代码调用此包装器:
void FileStorePopulation(Redemption.RDOStore store)
{
switch (store.StoreKind)
{
case TxStoreKind.skPstAnsi:
case TxStoreKind.skPstUnicode:
PSTWatch p = new PSTWatch(store as RDOPstStore);
watchedPSTs.Add(store.EntryID, p);
break;
}
}
其中watchedPSTs是一个全局变量。
我可以看到watchPST被填充,但是在将消息移动到 PST 时这些项目永远不会触发。想法?
谢谢