For loop 从复选框中读取不会';行不通

For loop 从复选框中读取不会';行不通,for-loop,autoit,For Loop,Autoit,我想遍历复选框以从每个复选框中获取标题文本。我有这个代码,但它不工作。有人能告诉我怎么了吗 这是因为稍后在For循环中,我使用$I来迭代其他内容吗?但它甚至没有运行Send()命令。AutoIt是否自动递增$i变量 For $i = 1 to 64 If GUICtrlRead("$Checkbox" & $i,0) = $GUI_CHECKED Then Local $checkboxtext = GUICtrlRead($Checkbox[$i], 1)

我想遍历复选框以从每个复选框中获取标题文本。我有这个代码,但它不工作。有人能告诉我怎么了吗

这是因为稍后在
For
循环中,我使用
$I
来迭代其他内容吗?但它甚至没有运行
Send()
命令。AutoIt是否自动递增
$i
变量

For $i = 1 to 64
    If GUICtrlRead("$Checkbox" & $i,0) = $GUI_CHECKED Then
        Local $checkboxtext = GUICtrlRead($Checkbox[$i], 1)
        Local $checkboxtextsplit = StringSplit( $checkboxtext, "/")
        $instanz = $checkboxtextsplit[1]
        $favorite = "F" & $checkboxtextsplit[2]
        $position = $checkboxtextsplit[3]

        ;Select actual Instance from Checkbox Name.
        If $instanz = "1" Then
            WinActivate($handle1)
        Else
            WinActivate($handle2)
        EndIf

        Send("{" & $favorite & "}")
        ;...
    EndIf
Next
我提供了错误的方法。而不是:

If GUICtrlRead("$Checkbox" & $i, 0) = $GUI_CHECKED Then
    Local $checkboxtext = GUICtrlRead($Checkbox[$i], 1)
应该是:

If GUICtrlRead($Checkbox & $i, 0) = $GUI_CHECKED Then
    Local $checkboxtext = GUICtrlRead($Checkbox & $i, 1)
要检索复选框选中/未选中状态,请使用:

If GUICtrlRead($Checkbox & $i, 0) = $GUI_CHECKED Then ...
要读取复选框的文本,请使用:

$checkboxtext = GUICtrlRead($Checkbox & $i, 1)
“AutoIt是否自动递增$i变量?”。