如何模拟背景窗口上的按键

时间:2013-02-24 01:55:01

标签: autohotkey

我需要强制后台的Outlook,每2秒检查一次新的电子邮件。所以我写了一个下面的脚本,但它没有这样做。怎么了?我不希望脚本干扰我的操作并将焦点放在Outlook窗口上。 “ahk_class rctrl_renwnd32”是正确的,我用“WinActivate,ahk_class rctrl_renwnd32”检查它并且它有效。

Loop
{
    ControlSend,, {F9}, ahk_class rctrl_renwnd32
    Sleep 2000 ; Wait 2 seconds
}

1 个答案:

答案 0 :(得分:1)

您的代码中没有错误。问题可能出在接收应用程序中。当我在记事本中测试时,在我的第二个屏幕上某处打开记事本窗口时,会执行 F5 (打印时间和日期)。一旦我最小化记事本,它将不再执行 F5 ,但它在最小化时仍然接受像A{Enter}B{Enter}C{Enter}这样的字符串。

!q::
ControlSend,, {F5}A{Enter}B{Enter}C{Enter}, ahk_class Notepad
Return

解决方案,如果您将窗口保持在屏幕某处(无需关注焦点),请尝试此方法。

我过去曾使用过Outlook,并且记得 F9 花了一些时间来执行。每2秒运行一次看起来有点过分。 如果及时收到您的电子邮件非常重要,您愿意通过刷新请求“杀死”邮件服务器,我会与您的IT支持人员讨论解决方案。