AutoIt GUICtrlRead Specials字符

时间:2014-06-06 10:50:15

标签: autoit

autoit GUICtrlCreateInput特殊字符被忽略了吗?

$user = GUICtrlCreateInput("", 90, 65, 100, 20)
$dom = GUICtrlCreateInput("", 90, 95, 100, 20)
$pass = GUICtrlCreateInput("", 90, 125, 100, 20, 0x0020)

Send(GUICtrlRead($user) & "{tab}" & GUICtrlRead($dom) & "{tab}" & GUICtrlRead($pass) & "{Enter}")

示例:" TOTO"作为用户," home"作为dom和" azerty +"作为密码。 输出将是:

TOTO    home    azerty

为什么GUICtrlRead()忽略特殊字符作为我的" +" char?

如何解决?

1 个答案:

答案 0 :(得分:2)

从帮助文件中:

发送() 将模拟击键发送到活动窗口。

发送("键" [,标志])

参数

  • keys - 要发送的密钥序列。
  • flag [可选] - 更改"键"处理:flag = 0 (默认),Text包含特殊字符,如+和!以表示 SHIFT和ALT按键。 flag = 1,密钥是raw。

因此,您的示例缺少标记设置为1。

$user = GUICtrlCreateInput("", 90, 65, 100, 20)
$dom = GUICtrlCreateInput("", 90, 95, 100, 20)
$pass = GUICtrlCreateInput("", 90, 125, 100, 20, 0x0020)

Send(GUICtrlRead($user),1)
Send("{tab}")
Send(GUICtrlRead($dom),1)
Send("{tab}")
Send(GUICtrlRead($pass),1)
Send("{Enter}")