2013-01-25 111 views
0

有沒有辦法將Outlook(2013)設置爲在激活時自動發送/接收電子郵件? 您現在可以做的是構建Outlook來定期檢查電子郵件,當然,它會在開始時檢查電子郵件。這很好,我是一個粉絲......但大部分時間Outlook運行最小化。一旦我恢復它(即將Outlook帶到前面),我希望它執行自動同步,相當於按下發送/接收文件夾。 我同意這根本不是一個關鍵問題,甚至不是很接近,但對我來說這是有道理的。在Outlook中自動發送/接收電子郵件

回答

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 
    } 
} 
+0

@SilverNinja很酷,但我不想以編程方式做任何事情,我只是想知道這樣的功能是否已經在Outlook中實現。謝謝 – Adi

+0

如果你不是在尋找一個程序化的解決方案,那麼這個問題就是無關緊要的。堆棧溢出是爲了*編程*問題。 – Charles

+0

StackOverflow是我的朋友,所以這是我的第一選擇... – Adi