在Outlook中收到邮件时的消息框

时间:2018-10-30 13:18:45

标签: outlook autohotkey sysinternals

当Outlook中有新邮件时,我想在Autohotkey中弹出邮件。我尝试不愉快地使用ComObjActive("Outlook.Application")。在Autohotkey网站上,有关COM对象的文档也相当模糊。消息应类似于msgbox New Mail Received。这类似于Outlook中的默认消息弹出窗口。我只需要AHK中的这个。

主要原因是我正在使用Sysinternals的Desktops。该程序可创建4个单独的桌面。当我在一个台式机上运行Outlook时,看不到另一台台式机上Outlook弹出的新消息。我需要一个简单的AHK脚本,该脚本会告诉我何时有新邮件,何时我在与运行Outlook的桌面不同的桌面上。

2 个答案:

答案 0 :(得分:0)

在System-StatusBar中,它们是Outlook的图标,当收到新邮件时,该图标会更改\动画。 我们可以使用AutoHotKey> ImageSearch / PixelSearch来查找两者之间的差异。

  • 通过ImageSearch / PixelSearch添加SetTimer。
  • 比较并发现差异>>您收到了邮件。

就这么简单。如果您需要有关脚本的进一步帮助,请随时:)

希望有帮助:)

答案 1 :(得分:0)

我不习惯AHK,但是经过研究,我想到了以下AHK脚本,它可以满足您的需求:

oOutlook = ComObjActive("Outlook.Application")
ComObjConnect(oOutlook, "outlook_")
return

outlook_NewMail() ;uses the COM event NewMail
{
    msgbox New Mail Received
    oOutlook.Visible := 1  ;make Outlook visible
    oOutlook.Activate      ;and bring to front
}

要停止收听Outlook COM事件,请使用

ComObjConnect(oOutlook)