如何解决hook玩坐标找不到Y坐标内存地址的问题?

这个有很多种写法。

写作方法一

1首先将鼠标指向游戏窗口,获取游戏窗口句柄。

Hwnd =插件。Window.MousePoint()

2创建一个动态数组

迪姆缅甸

3通过获得的句柄Hwnd获得游戏窗口的大小。

sRect = Plugin。Window.GetClientRect(Hwnd)

4.用数组除法函数把得到的坐标分成两组。

MyArray = Split(sRect," | ")

5.通过类型转换函数将获得的坐标转换为LNG,并赋值。

Ux = Clng(MyArray(0))

Uy= Clng(MyArray(1))

如果共同抢点的坐标是100和100,那么游戏内坐标就是100-Ux 100-Uy。

完全码

Hwnd =插件。Window.MousePoint()

sRect = Plugin。Window.GetClientRect(Hwnd)

迪姆缅甸

MyArray = Split(sRect," | ")

Ux = Clng(MyArray(0))

Uy= Clng(MyArray(1))

写作方法2

使用ScreenToClient(hwnd,x,y)函数来转换实际坐标和窗口坐标。

第一

1首先将鼠标指向游戏窗口,获取游戏窗口句柄。

Hwnd =插件。Window.MousePoint()

2.将抓取点的原始值代入ScreenToClient(hwnd,x,y)函数,以获得窗口坐标。

示例:

x = 100:y = 100

dm_ret = dm。ScreenToClient(hwnd,x,y)

这里用的是沙漠插件的功能,其实钥匙的VB功能就可以完成。

还有很多其他的写法,对于初学者来说这两种就足够了。