有没有办法将Outlook(2013)设置为在激活时自动发送/接收电子邮件? 您现在可以做的是指导Outlook定期检查电子邮件,当然,它会在开始时检查电子邮件。没关系,我是粉丝......但大多数时候Outlook运行最小化。一旦我恢复它(即将Outlook带到前面),我希望它执行自动同步,相当于按下发送/接收文件夹。 我同意这不是一个关键问题,甚至不是关闭,但对我来说这是有道理的。
答案 0 :(得分:2)
您可以尝试使用SendKeys
并发送执行发送/接收操作的 F9 热键。我可能只是自己做这个键击,但您可以通过编程方式附加到Explorer.Activate
事件并生成此事件。您还可以添加去抖动来控制频率,以免淹没您的Exchange服务器。
DateTime lastRun = DateTime.Now; // debouce control
void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Application.Explorers.NewExplorer += new Outlook.ExplorersEvents_NewExplorerEventHandler(explorers_NewExplorer);
}
void explorers_NewExplorer(Outlook.Explorer explorer)
{
((Outlook.ExplorerEvents_10_Event)explorer).Activate += new Outlook.ExplorerEvents_10_ActivateEventHandler(ExplorerWrapper_Activate);
}
void ExplorerWrapper_Activate()
{
if ((DateTime.Now - lastRun).TotalMilliseconds > 500) // trigger limit 500ms
{
lastRun = DateTime.Now;
System.Windows.Forms.SendKeys.Send("{F9}"); // hotkey to send/receive
}
}