除MsgBox以外的Autokey RTL输入?

时间:2013-08-12 00:22:44

标签: autohotkey

我想输出阿拉伯语文本,它在输出窗口上以RTL为导向。此输出窗口用作历史记录的滚动窗口,一次一个片段。 MsgBox具有RTL参数,但在处理滚动功能时不友好。滚动功能只需滚动鼠标中键即可,因此您可以逐个滚动浏览50个历史片段。

1 个答案:

答案 0 :(得分:0)

看一下这个例子:

myPid := DllCall("GetCurrentProcessId")
wordList := "Lorem ipsum dolor sit amet consetetur"
StringSplit, wordList, wordList, %A_SPACE%
counter := 0
myMsgBox := -1

F9::
    myMsgBox := WinExist("ahk_pid " myPid " ahk_class #32770")
    if(counter + 1 > wordList0) {
        ControlSetText, Static1, DONE
        return
    }
    counter++
    if(!myMsgBox) {
        SetTimer, MakeMyMsgBox, -1
    } else {
        ControlSetText, Static1, % wordList%counter%
    }
return

MakeMyMsgBox:
    MsgBox, 1048576, RTL Test, % wordList%counter%
return

重点是使用SetTimer生成MsgBox,允许热键例程再次运行,尽管存在等待的MsgBox窗口。我没有每次关闭旧的MsgBox并生成新的MsgBox,而是使用ControlSetText更新现有的MsgBox。