Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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
如何通过单独的Java进程访问Windows GUI文件菜单?_Java_Windows_Perl_User Interface - Fatal编程技术网

如何通过单独的Java进程访问Windows GUI文件菜单?

如何通过单独的Java进程访问Windows GUI文件菜单?,java,windows,perl,user-interface,Java,Windows,Perl,User Interface,我目前有一个Perl进程,使用它访问单独的Windows GUI进程的文件菜单。两个进程都在同一台Windows(2K3x64)服务器上运行。我想将其移植到Java,并让Java进程操作Windows GUI 我研究过Abbot、JaWin和JAB,但它们似乎都是面向Swing、AWT、Java操作Java窗口等的 Perl进程使用的Win32 GuiTest方法有: FindWindowLike() GetWindowText() SetForeGroundWindow() SendKeys(

我目前有一个Perl进程,使用它访问单独的Windows GUI进程的文件菜单。两个进程都在同一台Windows(2K3x64)服务器上运行。我想将其移植到Java,并让Java进程操作Windows GUI

我研究过Abbot、JaWin和JAB,但它们似乎都是面向Swing、AWT、Java操作Java窗口等的

Perl进程使用的Win32 GuiTest方法有:

FindWindowLike()
GetWindowText()
SetForeGroundWindow()
SendKeys()
GetFocus()
GetActiveWindow()

虽然Java代码示例或链接示例是理想的答案,但任何与MFC相关的建议都将不胜感激。谢谢

依我看,你最好的选择是使用。查看一些与Win32 UI相关的。和

您列出的GUI测试方法听起来像是1对1映射到Win32 API,例如,是在User32.dll中定义的函数


您还应该查看JNA:或J/Direct:

谢谢!然而,我将继续寻找一种解决方案,它不需要我学习C语言,也不需要我绑定到自编译DLL。我将尝试一下链接的示例,不过.JNI不需要C或自编译DLL。很抱歉用那个例子误导你。您可以导入和使用Win32 DLL,而无需太多麻烦。通过进一步研究,我明白了为什么User32有这么多包装器。。。您还应该了解JNA:或J/Direct:Update:不幸的是,我能够在Windows2008R2服务器上使用Win32::GuiTest获得Perl5.8.8,因此业务案例的理由就不存在了。不过,保罗,谢谢你(将来)的推荐信!