让鼠标点击某个程序窗口的特定位置

sdyqingdao 2010-06-17 09:26:24
我想做一个类似辅助性外挂的东西,挺简单,就是用鼠标点击游戏窗口的3个点,每5分钟点击3个点各一次。请教用Java怎么做?能给些源代码最好了。
...全文
1079 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangyun2621 2011-09-14
  • 打赏
  • 举报
回复
上边的代码不能运行
yangyun2621 2011-09-14
  • 打赏
  • 举报
回复
dsddfs
lacus87 2010-06-17
  • 打赏
  • 举报
回复
java写个小机器人....,插上电,放鼠标旁边,每3分钟去点下鼠标左键 囧

期待高手实现
lcmlhs_2005 2010-06-17
  • 打赏
  • 举报
回复
我刚学JAVA,帮你顶,学习交流,接个小分
dr_lou 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sdyqingdao 的回复:]
谢谢回复。我就是自己用。鼠标位置是固定的,不须考虑如何找坐标的问题。


引用 1 楼 dr_lou 的回复:

鼠标连点器啊,没做过。

我觉得难点在定位上,考虑用户分辨率得。至于点击和计时都是小问题。

三个点对于界面的相对位置是确定的,你只要做好屏幕分辨率与相对点坐标的匹配就可以了吧。
[/Quote]

你怎么固定?分辨率不同的你也能固定么?
如果定位不是问题,就实现鼠标事件即可。
tmhk123 2010-06-17
  • 打赏
  • 举报
回复
建立一个线程 每sleep300000线程启动一次 每次启动对三个坐标响应一次事件
BadPattern 2010-06-17
  • 打赏
  • 举报
回复
点击按钮无非是为了响应事件,五分钟点击一次不就是五分钟执行一下按钮事件里边的代码吗?如果没有差别,执行按钮的响应事件更加简单
  • 打赏
  • 举报
回复
这样说的应该是自动点击的吧?

---
我想到的是每5分钟直接使用脚本运行程序进行。如果不是自动的,需要手动点击,那就无所谓去定位了,直接事件响应
sdyqingdao 2010-06-17
  • 打赏
  • 举报
回复
谢谢回复。我就是自己用。鼠标位置是固定的,不须考虑如何找坐标的问题。

[Quote=引用 1 楼 dr_lou 的回复:]

鼠标连点器啊,没做过。

我觉得难点在定位上,考虑用户分辨率得。至于点击和计时都是小问题。

三个点对于界面的相对位置是确定的,你只要做好屏幕分辨率与相对点坐标的匹配就可以了吧。
[/Quote]
rumlee 2010-06-17
  • 打赏
  • 举报
回复
java做补了这个,只能用c、c++之类的来做。

还有就是如果你只是需要做这么简单的功能,何必要自己做呢,用按键精灵很好啊。不过现在很多游戏都控制了这种外挂的,所以不一定能够有用。
dr_lou 2010-06-17
  • 打赏
  • 举报
回复
鼠标连点器啊,没做过。

我觉得难点在定位上,考虑用户分辨率得。至于点击和计时都是小问题。

三个点对于界面的相对位置是确定的,你只要做好屏幕分辨率与相对点坐标的匹配就可以了吧。
healer_kx 2010-06-17
  • 打赏
  • 举报
回复
难道不是很容易的事情吗?而且这东西用MFC做,更简单。
平淡面对 2010-06-17
  • 打赏
  • 举报
回复
假设需每5分钟点击A(350,150),B(350,180),C(350,200)


public static void main(String args) {
try {
Robot r = new Robot();
int waitTime = 5; //minutes
boolean continued = true;

while (continued) {
//A (350, 150)
r.mouseMove(350, 150);
r.mousePress(InputEvent.BUTTON1_MASK);
r.mouseRelease(InputEvent.BUTTON1_MASK);
Thread.sleep(1000);

//B (350, 180)
r.mouseMove(350, 180);
r.mousePress(InputEvent.BUTTON1_MASK);
r.mouseRelease(InputEvent.BUTTON1_MASK);
Thread.sleep(1000);

//C 350, 200
r.mouseMove(350, 200);
r.mousePress(InputEvent.BUTTON1_MASK);
r.mouseRelease(InputEvent.BUTTON1_MASK);

Thread.sleep( waitTime * 60000);
}
} catch (Exception e) {
System.out.println("error :" + e);
e.printStackTrace();
}

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧