找回密码
 加入
搜索
查看: 11828|回复: 29

[系统综合] AU3是否可以鼠标同时点击几个坐标?

 火.. [复制链接]
发表于 2011-11-21 18:27:29 | 显示全部楼层 |阅读模式
本帖最后由 魔导 于 2011-12-1 11:12 编辑

想要用模拟操作同时操作几个游戏
需要鼠标在同一时间点击多个点。。。。。
请各位大牛,前辈们帮帮忙  指点指点
MouseClick("right",461+$Bx,234+$By,10,0);这是第一个坐标
MouseClick("right",461+$Ax,234+$Ay,10,0);这是第二个坐标
;是否可以两个一起进行?
发表于 2011-11-21 18:36:13 | 显示全部楼层
可以啊  模拟多线程  多线程要是觉得麻烦   就用多进程   一个进程点一个坐标
发表于 2011-11-21 21:25:29 | 显示全部楼层
好像多线程是au3的硬伤,只能多进程
发表于 2011-11-22 03:10:01 | 显示全部楼层
_WinAPI_CreateSemaphore做并发
发表于 2011-11-22 23:59:44 | 显示全部楼层
_WinAPI_CreateSemaphore做并发

这个我用过的,可以实现楼主的要求
发表于 2011-11-23 04:38:26 | 显示全部楼层
这个也能实现,强。
 楼主| 发表于 2011-11-23 17:42:43 | 显示全部楼层
感谢各位前辈
 楼主| 发表于 2011-11-23 17:48:35 | 显示全部楼层
回复 4# netegg
前辈可以给个列子吗??
去看了下都是些英文的没看懂
这两个一起的话该怎么做呢?
MouseClick("left",448+$A,250+$C,12);这是代码A
MouseClickDrag("left",483+$A,282+$C,503+$A,282+$C)
MouseClick("left",358+$A,585+$C,20)
MouseClick("left",850+$A,588+$C,20)
MouseClick("left",770+$A,355+$C,4)
wuseA()
MouseMove(1439,0)
Send("5")
MouseMove(4,17,5)
Send("{ENTER}")
MouseMove(1439,0,5)
Send("{ENTER}")
MouseClick("left",850+$A,588+$C,500)
MouseClick("left",911+$A,588+$C,19)
MouseClick("left",862+$A,604+$C,5,0)
Send("{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}")




MouseClick("left",448+$A,250+$B,12);这是代码B
MouseClickDrag("left",483+$A,282+$B,503+$A,282+$B)
MouseClick("left",358+$A,585+$B,20)
MouseClick("left",850+$A,588+$B,20)
MouseClick("left",770+$A,355+$B,4)
wuseB()
MouseMove(1439,0)
Send("5")
MouseMove(4,17,5)
Send("{ENTER}")
MouseMove(1439,0,5)
Send("{ENTER}")
MouseClick("left",850+$A,588+$B,500)
MouseClick("left",911+$A,588+$B,19)
MouseClick("left",862+$A,604+$B,5,0)
Send("{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}{ESC}")
 楼主| 发表于 2011-11-23 17:49:39 | 显示全部楼层
回复 6# 淡定开源


    如8楼的   ,可以给个列子吗?
谢谢前辈
 楼主| 发表于 2011-11-23 17:51:20 | 显示全部楼层
回复 2# jj119120


    这个试过一次,当时的状况是以个鼠标点完一个又点一个。就好像在点击是用热键一样的。
发表于 2011-11-23 20:44:22 | 显示全部楼层
_WinAPI_CreateSemaphore 做兵法,我去研究一下...
 楼主| 发表于 2011-11-24 01:04:57 | 显示全部楼层
回复 11# bdancerlc


    万分感谢
 楼主| 发表于 2011-11-26 23:26:25 | 显示全部楼层
回复 2# jj119120


    具体的怎么做啊?
要同时可以点击两个以上的坐标
发表于 2011-11-27 09:49:39 | 显示全部楼层
回复 13# 魔导


    函数参考
_WinAPI_CreateSemaphore
--------------------------------------------------------------------------------

创建或打开有名或无名的信号量对象.
译注: 关于 信号量 ,维基百科的注释页:


#Include <WinAPIEx.au3>
_WinAPI_CreateSemaphore ( $sSemaphore, $iInitial, $iMaximum [, $tSecurity] )




参数

$sSemaphore 信号量的名称. 名称比较区分大小写.
$iInitial 信号量对象的初始计数.
该值必须大于或等于 0, 且小于或等于 $iMaximum
$iMaximum 信号量对象的最大数量. 该值必须大于 0.
$tSecurity [可选参数] $tagSECURITY_ATTRIBUTES structure that specifies a security descriptor for the new semaphore.
If this parameter is 0, the semaphore gets a default security descriptor.



返回值

成功: 返回信号量对象的句柄.如命名信号量对象在函数调用前已存在,
函数返回现有对象的句柄.
失败: 返回 0,设置@error:标志为非 0 值.



注意/说明

任何进程可以调用 _WinAPI_WaitFor... 函数指定信号量对象句柄.
单一对象等待函数返回指定对象的状态信号.
当任一对象或指定对象都是信号时, 多对象等待函数可以返回任何命令.
当一个等待函数返回时,被释放的等待进程继续执行.
信号量对象的状态是信号时, 其信号计数大于 0, 如果不是, 其计数等于 0.
$iInitial 参数指定初始值.每个等待进程因信号量的信号状态的释放使计数减 1.
使用 _WinAPI_ReleaseSemaphore() 函数指定信号量的递增计数.
计数不能小于 0 或大于 $iMaximum 参数指定的值.




相关



详情参考

在MSDN中搜索





示例/演示


#Include <WinAPIEx.au3>

Opt('MustDeclareVars', 1)

If Not @Compiled Then
    MsgBox(0, '', 'To run this script, you must first compile it and then run the (.exe) file.')
    Exit
EndIf

Global $hSemaphore = _WinAPI_CreateSemaphore('MySemaphore', 2, 2)

_WinAPI_WaitForSingleObject($hSemaphore)
_MyGUI()
_WinAPI_ReleaseSemaphore($hSemaphore)
_WinAPI_CloseHandle($hSemaphore)

Func _MyGUI()

    Local $Msg

    GUICreate('MyGUI')
    GUISetState()
    While 1
        $Msg = GUIGetMsg()
        Switch $Msg
            Case -3
                ExitLoop
        EndSwitch
    WEnd
EndFunc   ;==>_MyGUI
发表于 2011-11-27 10:41:27 | 显示全部楼层
好复杂,晕了。
打比方你两个游戏吧,M游戏,N游戏。
M游戏上A点 500下  ,生成一个执行脚本
N游戏上B点 500下 ,生成另一个执行AU3
..........
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-19 06:25 , Processed in 0.092520 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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