找回密码
 加入
搜索
查看: 5770|回复: 15

[系统综合] _MouseClick控制游戏

 火.. [复制链接]
发表于 2017-1-30 20:06:59 | 显示全部楼层 |阅读模式
_MouseClick($hWnd, $x, $y, $button = 'left', $times = 1, $delay = 250)

为啥这个功能,我在chrome网页上可以准确的点到相应的按钮,为啥用在端游,比如英雄联盟,魔兽世界,感觉鼠标就坐标错乱了,点击是有点击,但就是位置不对(变成点击在当前位置上)。

是游戏有做啥保护吗?

3q!~
发表于 2017-2-2 09:17:23 | 显示全部楼层
$x    $y  位置重新调整一下看看呗
 楼主| 发表于 2017-2-6 09:34:47 | 显示全部楼层
回复 2# 1361739590


    怎么个重新调整?
无论你填什么值,他都会只点击你当前鼠标停留的位置,而不会点击x,y数值的位置。
发表于 2017-2-6 10:57:58 | 显示全部楼层
那就是 $hWnd 这个弄错了应该
发表于 2017-2-6 11:55:16 | 显示全部楼层
回复 3# liangxm


   设置断点调试一下,看你是否正确获取句柄。如果你要做游戏,建议调用大漠的找图找色插件,这样你很轻松。
 楼主| 发表于 2017-2-6 14:05:07 | 显示全部楼层
回复 4# 1361739590


    $hWnd 这个肯定没错的,因为键盘输入啥的用的$hWnd是没有问题,而且鼠标并不是没点击,只是点击的位置不对,xy不起作用。
 楼主| 发表于 2017-2-6 14:06:22 | 显示全部楼层
回复 5# love008

句柄不会找错的,其他键盘输入是可以没问题的

大漠的找图找色插件,这个在哪?论坛搜的?
发表于 2017-2-6 15:28:14 | 显示全部楼层
Opt("MouseCoordMode", 0)
发表于 2017-2-6 15:33:00 | 显示全部楼层
回复 7# liangxm


找大漠最后一个免费版3.1233就可以。
 楼主| 发表于 2017-2-7 17:33:32 | 显示全部楼层
回复 8# 1361739590



Opt("MouseCoordMode", 0)
相对激活窗口的,试过,不行。感觉也只是坐标,我用绝对位置鼠标都点不到要的位置。

操作ie浏览器啥的都可以,就是魔兽世界,英雄联盟啥的不行。
 楼主| 发表于 2017-2-7 17:33:49 | 显示全部楼层
回复 9# love008


    好的,3q,研究研究。
发表于 2017-2-8 09:08:36 | 显示全部楼层
看一下这个_MouseClick() 里面是怎么写的。
 楼主| 发表于 2017-2-9 11:26:06 | 显示全部楼层
看一下这个_MouseClick() 里面是怎么写的。
1361739590 发表于 2017-2-8 09:08



    Func _MouseClick($hWnd, $x, $y, $button = 'left', $times = 1, $delay = 250)
        Local $ix
        Local $lParam = BitOR(BitAND($x, 0xFFFF), $y * 0x10000)
        $button = StringLower($button)
        If $button = "left" Then
                For $ix = 1 To $times
                        _PostMessage($hWnd, 0x200, 0, $lParam);WM_MOUSEMOVE
                        _PostMessage($hWnd, 0x201, 1, $lParam);WM_LBUTTONDOWN
                        _PostMessage($hWnd, 0x202, 0, $lParam);WM_LBUTTONUP
                        If $ix < $times Then Sleep($delay)
                Next
        ElseIf $button = "right" Then
                For $ix = 1 To $times
                        _PostMessage($hWnd, 0x200, 0, $lParam);WM_MOUSEMOVE
                        _PostMessage($hWnd, 0x204, 2, $lParam);WM_RBUTTONDOWN
                        _PostMessage($hWnd, 0x205, 0, $lParam);WM_RBUTTONUP
                        If $ix < $times Then Sleep($delay)
                Next
        EndIf
EndFunc   ;==>_MouseClick

Func _PostMessage($hWnd, $iMsg, $iwParam, $ilParam)
        DllCall("user32.dll", "bool", "PostMessage", "hwnd", $hWnd, "uint", $iMsg, "wparam", $iwParam, "lparam", $ilParam)
EndFunc   ;==>_WinAPI_PostMessage
发表于 2017-2-10 18:01:57 | 显示全部楼层
为啥用在端游,比如英雄联盟,魔兽世界,感觉鼠标就坐标错乱了,点击是有点击,但就是位置不对(变成点击在当前位置上)

原因:如果是全屏的情况,很有可能是因为分辨率不同而出现坐标不同
发表于 2017-2-19 07:20:17 | 显示全部楼层
先MouseMove一下?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-20 16:13 , Processed in 0.084364 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表