AHK原神失效

如题

代码
#HotIf WinActive("", "原神")
MsgBox("asdf")
XButton1::e
XButton2::q
#HotIf
XButton1::^+z
XButton2::!f

MsgBox有提示说明捕获成功,但是eq替换却做不到,平时其他软件没问题,是因为原神优先级太高了,自动捕获所有按键还是这个防作弊程序ban了啊

但是我在原神里面按ctrl+shift+z仍然能呼出我的Snipatse……

难道不应该是
WinActive("原神")

我没装原神,不知道,只是猜一猜

网上找了一张图,确实应该是 WinActive(“原神”)
WinActive 第一个参数是title,“原神”是title名,不是visible text

1 Like

还真不是 :joy: 我为此专门查了processhack,最后发现确实应该这么写

你看代码,有个msgbox,实测可以正常弹出的,所以确实捕获到了,再说,要是没捕获到理论上应该执行ctrl alt z啊,但是他也没执行

实在不行我找aardio或者rust写个小程序专门判断原神是否运行……

开头加句 SendMode Input,再管理员运行看看。

还是不行的话可以用我的驱动按键库:

1 Like

好滴,回宿舍搞搞试试

不过正在想是不是应该问问客服,别把他当连点器类似的东西给我封号了,那我哭都来不及……

你似乎犯了和旁边这个帖子一样的错误 Ahk gui button控件怎么设置按下后执行的事件? ,你试试给

#HotIf WinActive("", "原神")

前面加个return。msgbox根本不会弹出,还会报错。

按我说的,你先试试:

return

#HotIf WinActive("原神")
XButton1::e
XButton2::q
#HotIf
XButton1::^+z
XButton2::!f

应该这样写是没啥问题的

一般不是这么写窗口绑定吗?

#IfWinActive ahk_exe YuanShen.exe
#IfWinActive ahk_class UnityWndClass ahk_exe YuanShen.exe
#IfWinActive 原神 ahk_class UnityWndClass ahk_exe YuanShen.exe

我觉得你应该这么写就没问题了:

#IfWinActive 原神 ahk_class UnityWndClass ahk_exe YuanShen.exe
XButton1::e
XButton2::q

#IfWinActive
XButton1::^+z
XButton2::!f

有部分软件的权限是比较高,它可以越过AHK的热键,比如VM虚拟机,原神应该是不会加这种权限。另外我觉得没必要把eq映射到侧键,毕竟左手始终都在wasd方向键上。映射成m地图可能会更实用 :joy:

佬,你在用v2吗,v2不能用哎似乎 :joy:
图片

!!!同志们找到原因了!这样就行,根源在于原神是默认以管理员身份运行的!非管理员程序不能干扰管理员程序的运行!给他管理员权限就好了!

十分感谢 @Chaoses_Ib !!!

最后再问一个小问题,刚刚上手ahk(v2),有啥写的还不错的教程吗,中英皆可

额 一个游戏竟然还要管理员权限

我用的是v1,v2的话应该是#If WinActive("ahk_class UnityWndClass", "YuanShen.exe")

1 Like

对了,补充一句我似乎误会了processhacker,软件是这么显示的,我似乎把text直接对应到了Wintext上,而不是WinTitle。这导致我一开始写的 WinActive("", "原神")也存在问题……


至于管理员权限……现在好多游戏都要管理员 :joy: 倒不如说不需要管理员的游戏不多了……现在连植物大战僵尸的改版都在要管理员,到处都是管理员权限的身影……下一步就是TrustedInstaller权限了:dog:

借反外挂之名,加驱等各种骚操作,以腾讯为首的游戏公司带来的不良之风

我很好奇ahk这么高效全面的东西怎么很多人都是用来做外挂,搞得很多人都以为AHK和按键精灵一样,仔细想了一下,大多数人用电脑也确实只是娱乐玩游戏啥的,也没那么多人需要用AHK来提高工作效率 :rofl:

布吉岛啊,只是觉得在原神里鼠标两个侧键就像废了一样,得想办法让它发挥用场……

找到哩,我就记得有人在什么地方说过原神有注入检测,然而没什么用处,在游戏里还是有一大堆大哥……
https://github.com/Micah123321/AutoOpenCAK

各位大佬,为什么我这么写不起作用啊:
1::
{
Send, {LAlt down}
Send, {1 down}
KeyWait, 1
Send, {1 up}
Send, {LAlt up}
}
Return
2::
{
Send, {LAlt down}
Send, {2 down}
KeyWait, 2
Send, {2 up}
Send, {LAlt up}
}
Return
3::
{
Send, {LAlt down}
Send, {3 down}
KeyWait, 3
Send, {3 up}
Send, {LAlt up}
}
Return
4::
{
Send, {LAlt down}
Send, {4 down}
KeyWait, 4
Send, {4 up}
Send, {LAlt up}
}
Return