Java问题我现在用Robot对象写了一个鼠标能自己移动,点击,键盘能自动输入的东西。。但是他是显我现在用Robot对象写了一个鼠标能自己移动,点击,键盘能自动输入的东西。。但是他是显式的,就是说鼠标移动点击打开了什么东西,他也会显示在屏幕上,跟人为操作没什么两样。。。。我现在就想问一下,有没有能让他隐式完成这些动作,就是他内部完成,不需要显式在屏幕上。比如我要让他自动移动到浏览器位置,并且打开他,但浏览器可以不显示出来,,,对浏览器的任何操作都可以不显示出来的那种。。。请教各位大神,Java有这样的对象吗?
一: 使用Java自带的Robot实现对鼠标和键盘的控制, 都是前台的,显示的.
二: 使用Java的 JNI/JNA技术,可以实现后台模拟操作. 不会真实的移动鼠标,点击等..
三: JNI和JNA 里面涉及一些C语言的知识, 就是利用Java去调用windows API
比如,找到浏览器的窗口句柄HWND ,发送消息PostMessage ,去实现键鼠的操作
拓展延伸
大漠插件(dm.dll),还不错.封装了很多常用的方法,比如找颜色,找图片,文字识别,键盘操作,鼠标操作等. 免费版基本够使用了.推荐 使用C#来调用dm.dll
注意: 不推荐java调用大漠插件,因为有少数的函数,java调用不起作用...
追问JNI不是用来和起来语言交互的吗?就是c的代码可以在Java运行。跟这个技术。。。。有啥关联啊?
追答c语言可以方便的调用windows API 完成后台级别的键鼠操作。
如果从jni入手,你可能需要熟悉下c语言。
java本身很难完成这些操作的。
追问windowsAPI里有有这个方法吗?
还有那个c++可以调用windosapi吗?
追答有的,你详细了解下吧。JNA进行了简化。你可以仔细了解下。没有时间仔细研究的话,就用c#调用dm.dll
追问我现在想具体看看那个方法,您能告诉我那个方法名吗?
追答早就说了啊。PostMessage啊。这一个函数的用法起码要好几千字去解释。太多功能,太强大了。去msdn上查PostMessage和SendMessage。
追问谢谢咯,我还得继续学c++