网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月22日
漏签
0
天
autohotkey吧
关注:
4,650
贴子:
16,034
看贴
图片
吧主推荐
游戏
64
回复贴,共
1
页
<<返回autohotkey吧
>0< 加载中...
MouseMove的bug
只看楼主
收藏
回复
网名想了14年
富有名气
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这个指令时不时就会失效,本来是点击指定位置后再移动回原位的,结果它一失效就导致我鼠标点完指定位置后就回不去了,现在我必须写好几条才能把失效的概率降低,有人知道解决方法吗,写好几条的话不知道在某些场景下会不会出问题,或者造成鼠标移动时的卡顿
网名想了14年
富有名气
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
想玩个pvz就这么困难
選擇愛愛選擇
小有美名
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
每一行代码之间加上延迟.
完结.
選擇愛愛選擇
小有美名
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
网名想了14年
富有名气
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
DllCall("SetCursorPos", "int", 100, "int", 400)也不行,我发现它只要是移动鼠标这个操作就有概率不生效
网名想了14年
富有名气
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这个click后面接移动操作不论是mousemove/dllcall/send“{click0}”,失效概率差不多都是20%,但是如果是send“{click}”后面接移动操作失效概率差不多就只有5%,不过也没法正常使用,click后接五次移动指令失效概率就已经非常低了,至少我每次随便试试都不会失效
网名想了14年
富有名气
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
目前的猜测是鼠标移动的情况下点击指令是先点击然后松开,而松开的时候有延时,而如果延时过长则在这个阶段触发的移动指令会被覆盖掉,要靠后续执行的移动指令才能移动
具体表现就是在一个文本界面中,在快速移动鼠标的同时按住热键,然后有时就不会选中文本,有时就会选中一两行文本,有时就会选中20行文本,未选中文本的时候应该就是松开的延时短,第一个移动生效,选中一两行就是第一个移动被覆盖,第二个移动生效,选中20行就是第一二个移动都被覆盖,第三个生效,之类的
网名想了14年
富有名气
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我之前的ps里用的快捷键也是发现send更稳定,ctrl+alt+shift+n是创建新图层,而直接用^!+n就偶尔会失效,把它放进send“”里面就不会失效
選擇愛愛選擇
小有美名
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你改成这样试试:
CoordMode, Mouse, Client
w::
{
MouseGetPos, X_0, Y_0
MouseMove, 528, 111, 0
Sleep, 100
Send, {LButton Down}
Sleep, 100
Send, {LButton Up}
Sleep, 100
MouseMove, %X_0%, %Y_0%, 0
}Return
🐬Oceano
颇具名气
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
最上面加:
SetDefaultMouseSpeed 0
🐬Oceano
颇具名气
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#Requires AutoHotkey v2.0
SetDefaultMouseSpeed 0
w::
{
MouseGetPos(&x, &y)
BlockInput "MouseMove"
MouseClick("Left", 528, 111, , 0)
loop
{
MouseMove(x, y)
MouseGetPos(&x1, &y1)
}
until x == x1 && y == y1
BlockInput "MouseMoveOff"
}
czrshrcg
默默无闻
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你试试
置顶加一行SendMode Input
然后把click,528,111改成 MouseClick, left, 528, 111
🐬Oceano
颇具名气
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
试试这个,Point(x, y).Click()
#Requires AutoHotkey v2.0
`:: Point(100, 100).Click() ;点击屏幕坐标100,100
class Point {
__New(x, y) {
buf := Buffer(8)
Numput("int", x, buf, 0)
Numput("int", y, buf, 4)
this.Pt := buf
this.X := x
this.Y := y
}
window {
get {
winId := DllCall("WindowFromPoint", "int64", NumGet(this.Pt, 0, "int64"))
try {
classNN := ControlGetClassNN(winId)
} catch {
classNN := ''
}
WinGetClientPos(&x, &y, , , 'ahk_id ' winId)
return {
ID: winId, X: this.X - x, Y: this.Y - y, ClassNN: classNN
}
}
}
Click() {
w := this.window
if w.ClassNN == '' {
ControlClick('X' w.X ' Y' w.Y, 'ahk_id ' w.ID)
} else {
ControlClick(w.ID, , , , , 'NA X' w.X ' Y' w.Y)
}
}
}
网名想了14年
富有名气
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
@🐬Oceano💦哎完全是没接触过的东西,过些时候有时间了按照你说的挨个学一下看看都是个啥,先整理了一下,不过发现return后面为什么必须是空格不能是回车呢
🐬Oceano
颇具名气
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
游戏里的坐标点,可以用类的静态只读属性
class Point {
; 点位集
static 图标1 => Point(528, 111)
static 图标2 => Point(xxx, xxx)
static 图标3 => Point(xxx, xxx)
......
; 非静态成员
__New(x, y) {
......
}
window {
......
}
Click() {
......
}
}
调用的时候,Point.图标1.Click(),利用vscode的代码补全,能增加可读性
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示