Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在autoitx4java中使用句柄_Java_Handle_Autoit - Fatal编程技术网

在autoitx4java中使用句柄

在autoitx4java中使用句柄,java,handle,autoit,Java,Handle,Autoit,我在java项目中使用 在我使用的窗口标题存在多次之前,这一切都很正常 假设我有三个标题为“MyAppTitle”的窗口打开: 显然,只返回一个值。我最后关注的是“MyAppTitle”窗口的x位置 获得窗口的句柄没有问题。但是autoitx4java提供的大多数方法都需要窗口标题作为参数 我怎样才能用它们的把手进入窗户?还是有更好的图书馆可以用 更新:来自AutoIt官方网站: 当您有一个句柄时,可以使用它来代替title参数 在任何使用title/text约定的函数调用中 但是它在autoi

我在java项目中使用

在我使用的窗口标题存在多次之前,这一切都很正常

假设我有三个标题为“MyAppTitle”的窗口打开:

显然,只返回一个值。我最后关注的是“MyAppTitle”窗口的x位置

获得窗口的句柄没有问题。但是autoitx4java提供的大多数方法都需要窗口标题作为参数

我怎样才能用它们的把手进入窗户?还是有更好的图书馆可以用

更新:来自AutoIt官方网站:

当您有一个句柄时,可以使用它来代替title参数 在任何使用title/text约定的函数调用中


但是它在autoitx4java库中不起作用。

看起来Wingthandle正在返回一个字符串,您可以使用它返回的句柄的字符串表示形式吗?正如我所说,这些方法需要窗口标题作为参数。当我通过把手时,它就不起作用了。我看不出处理句柄的方法。您可能必须直接调用AutoItX,我从未使用过Java,但看看,有一个方法
winVariantBool
在ActiveX组件中调用该方法。最好的方法可能是为类中的所有函数添加重载,允许它使用句柄而不是标题。不知道这是否对您有帮助!autoitx4java使用了一种称为JNI的东西,这并不完全是用户友好的。还有另一种连接Java+AutoIt的方法,称为JNA。我只得到了概念证明,但将其应用到您的项目中应该不会太困难。请看这里:用法示例在这里:谢谢!用JNA试过了,效果很好。
AutoItX x = new AutoItX();
int posX = x.winGetPosX("MyAppTitle");