【问题标题】:Send Ctrl + + (Ctrl+Plus) to a Windows application将 Ctrl + + (Ctrl+Plus) 发送到 Windows 应用程序
【发布时间】:2020-12-12 15:52:33
【问题描述】:

我有一个 Windows 桌面应用程序,我想用 AutoIt 按 Ctrl + +,它应该打开一个新窗口(或在 Chrome/Firefox/等中增加字体大小)。 我不知道为什么,但它不起作用。

我用Send() 尝试了几种方法,但都没有成功。

我最新的 .au3 代码:

Local $hWnd = "[REGEXPTITLE:(?i)(.*App Window Title*.)]"
WinActivate($hWnd) ; WinActivate finds the window and activates it
Sleep(500)
Send("{CTRLDOWN}{+}")
Send("{CTRLUP}")

以前的尝试:

Send("^{+}") 根据文档,没有任何反应

Send("{LCTRL}{+}") 它将一个加号写入活动输入字段

Send("^{ASC 043}") 它将一个加号写入活动输入字段

Send("{CTRLDOWN}")
Sleep(500) ; with and without sleep
Send("{+}")
Send("{CTRLUP}")

当我在 Chrome 中尝试 Send("^p") 时,它打开了打印预览窗口 (Ctrl+P)。

【问题讨论】:

  • 阅读send的帮助。它需要第二个参数(标志)。您需要 RAW 才能不将 + 转换为 SHIFT
  • Send("^{+}", 1) 将在活动输入字段中产生 ^{+}
  • 我想到了更多send("{ctrldown}")send("+",1)send("{ctrlup}")。同一 send 中的 RAW 和 DEFAULT 都不起作用。
  • 顺便说一句:你的方法 Send("^{+}") 对我有用(增加 Chrome 中的字体大小)

标签: windows automated-tests desktop-application autoit


【解决方案1】:

解决办法是:Send("^{NUMPADADD}")Send("^{NUMPADMULT}")

在 Chrome 中,只有 NUMPADADD 有效。

【讨论】:

  • 就我而言,两者都有效。仅在 Chrome 中 Send("^{NUMPADADD}")
猜你喜欢
  • 2014-10-15
  • 1970-01-01
  • 1970-01-01
  • 2011-04-28
  • 2020-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多