如何设置三态复选框的状态?

How do I set the state of a three-state checkbox?

我正在使用 AutoIt 来自动化 Windows 应用程序以进行测试。我希望能够设置默认不确定的三态复选框的状态。

我已经尝试使用 ControlCommand(.., .., .., "Uncheck", ..) 设置 "unchecked" 状态,但它仍然处于不确定状态。

当我在 ControlCommand 中使用 "Check" 时,它会将 CheckBox 从 Indeterminate 移动到 False,因为这是点击的顺序:

  1. 不确定
  2. 未选中
  3. 已检查

有没有一种方法可以使用 AutoIt 以编程方式设置状态,而无需假定默认状态并自己计算点击次数?

复选框实际上是按钮的特殊版本。不要问为什么,这是 MS,他们认为这是个好主意。

您可以使用 _GUICtrlButton_SetCheck 函数完全按照您的意愿进行操作,帮助文件中有一个示例 here:

_GUICtrlButton_SetCheck($idChk, $BST_INDETERMINATE)