开发者

autohotkey: sometimes button is not clicked

I wrote such autohotkey script to auto-logon my program:

SendMode Input  ; Recommended for new scripts due to its superior speed and r开发者_StackOverflow社区eliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
Run info.exe
WinWait, User identification,
Sleep 300
ControlSend, Edit1, user, User identification
ControlSend, Edit2, password, User identification
ControlClick, Button1, User identification

The problem is - sometimes Button1 is not clicked. When i'm execution script in most cases Button1 is clicked, but sometimes it doesn't. When script autoexecuted on locked workstation (this is the scenario I actually need), Button1 is never clicked.

I've tried to insert Sleep, 1000 after each line in script but it didn't helped.

The question is why, and how to fix/workaround the problem

I will try today to replace

ControlSend, Edit2, password, User identification
ControlClick, Button1, User identification

with

ControlSend, Edit2, password{Enter}, User identification

probably this will work...


I spent a week tring to solve my problem anf finally resolved it. Hope this will help to someone.

Never try to send CAPITALIZED letter to autohotkey, instead send shiftdown and shiftup

Wrong:

ControlSend, Edit2, passworD, User identification

Right:

ControlSend, Edit2, passwor{SHIFTDOWN}d{SHIFTUP}, User identification

Also it would be better to avoid ControlClick if possible. To click a button ControlSend a Space to it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜