Java 在AutoIt中获取控件的像素校验和

Java 在AutoIt中获取控件的像素校验和,java,automation,autoit,vsphere,Java,Automation,Autoit,Vsphere,我在登录窗口(vSphere Client登录窗口)中有一个讨厌的复选框,它会导致AutoIt的controlCommandIsChecked始终返回false,无论该复选框是否选中。因此,我决定在复选框的控件上执行像素校验和,以根据校验和值确定它是否被选中。我一定是做错了什么,因为它根本没有计算适当区域的校验和。这是我想到的 AutoItX autoIt = new AutoItX(); String loginWindow = "VMware vSphere Client"; double

我在登录窗口(vSphere Client登录窗口)中有一个讨厌的复选框,它会导致AutoIt的
controlCommandIsChecked
始终返回false,无论该复选框是否选中。因此,我决定在复选框的控件上执行像素校验和,以根据校验和值确定它是否被选中。我一定是做错了什么,因为它根本没有计算适当区域的校验和。这是我想到的

AutoItX autoIt = new AutoItX();
String loginWindow = "VMware vSphere Client";

double pchecksum = autoIt.pixelChecksum(autoIt.controlGetPosX(loginWindow, "", "[NAME:checkUsePassthrough]"), autoIt.controlGetPosY(loginWindow, "", "[NAME:checkUsePassthrough]"), +
    autoIt.controlGetPosX(loginWindow, "", "[NAME:checkUsePassthrough]")+autoIt.controlGetPosWidth(loginWindow, "", "[NAME:checkUsePassthrough]"), +
    autoIt.controlGetPosY(loginWindow, "", "[NAME:checkUsePassthrough]")+autoIt.controlGetPosHeight(loginWindow, "", "[NAME:checkUsePassthrough]")));

关于我在捕获控件坐标以计算像素校验和时出错的地方,有什么建议吗?

…这似乎是个糟糕的主意。为什么不调试一下为什么你的复选框不起作用,而不是构建这个全新的解决方案?@QPaysTaxes我没有设计这个软件,它只是Sphere Client。因此,复选框本身的任何内容都不能更改。即使您没有编写代码,也可能不正确地使用复选框。在尝试复杂的解决方法之前,请确保您正确使用了它。您是否也可以发布如何使用
controlCommandIsChecked
?它可能更容易修复并帮助您解决问题。。。