作者:hacker发布时间:2023-01-14分类:网络黑客浏览:167评论:2
//
第一句
循环
9999999999999999999
次
for
999999999999999999999
//
将鼠标移动到
x
为
100
y
为
200
的位置
moveto
100,200
//
延时
100
毫秒
delay
100
//
左键单击
1
次
leftclick
1
//
延时
100
毫秒
delay
100
//
停止循环
endfor
意思都写在上面了
直接将代码复制到按键精灵里运行就可以
至于你想设置在哪个点
就改
100
和
200
的位置
100为
x
的坐标
200为
y
的坐标
首先,游戏内地图坐标与屏幕坐标比例不一样的,游戏地图内向左移动一个坐标,那么鼠标在屏幕内可能要移动100个像素坐标,所以对应关系一定要转化好,而且要准确,误差不要超过2个像素
所以要得到2个常量(也可以当变量)
常量1:游戏中,地图坐标X每移动一个坐标,对应屏幕坐标Y移动多少像素
常量2:游戏中,地图坐标Y每移动一个坐标,对应屏幕坐标Y移动多少像素
然后用MoveR x+常量1*倍数x ,y+常量2*倍数y 的方法可以移动了
其实你把你的实际需求场景说明白了,可能会得到更多的解决方案,比如楼上说的VBA办法,当然也可以用按键精灵,但用按键精灵可以用主动式控制,而非被动得到后焦点后再作下一步动作。
如果一定要相结合,可以让EXCEL指挥鼠标到光标处,然后按键精灵接手获得鼠标的位置
以下是指挥到光标处的代码
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_ABSOLUTE = H8000 '指定鼠标使用绝对坐标系,此时,屏幕在水平和垂直方向上均匀分割成65535×65535个单元
Private Const MOUSEEVENTF_MOVE = H1 '移动鼠标
Private Const MOUSEEVENTF_LEFTDOWN = H2 '模拟鼠标左键按下
Private Const MOUSEEVENTF_LEFTUP = H4 '模拟鼠标左键抬起
Sub Mousemove()
Dim X As Long, Y As Long
Dim Px, Py, Px1, Py1
X = GetSystemMetrics32(0) ' 宽度(电脑像素)
Y = GetSystemMetrics32(1)
With ActiveCell
Px = .Left / 72 * GetPPI
Py = .Top / 72 * GetPPI
Px1 = ActiveWindow.PointsToScreenPixelsX(0)
Py1 = ActiveWindow.PointsToScreenPixelsY(0)
mw = (Px + Px1) * 65535 / X
mh = (Py + Py1) * 65535 / Y
End With
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, mw, mh, 0, 0
' mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 左健按下
End Sub
Private Sub CommandButton1_Click()
Mousemove
End Sub
以下代码放入模块
Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As Long
Declare Function GetDeviceCaps Lib "Gdi32" (ByVal hDC As Long, ByVal index As Long) As Long
Declare Function GetSystemMetrics32 Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long '获取分辨率
Const LOGPIXELSX = 88
Const LOGPIXELSY = 90
Function GetPPI()
Dim hDC As Long
hDC = GetDC(0)
Dim X, Y
X = GetDeviceCaps(hDC, LOGPIXELSX)
Y = GetDeviceCaps(hDC, LOGPIXELSY)
GetPPI = X
End Function
获取鼠标位置代码,按键精灵百度一下就能得到,或已经可以用精灵直接控制LeftClick之类的动作了。
很简单
key =WaitKey()
If key =13 Then //这里13是回车的键代码
MoveTo 100, 100//模拟鼠标移动到100,,10的位置
Delay 500
LeftClick 1//鼠标左键单击一次
End If
如果需要一直使用,加入一个DO loop循环即可。
专业作者回答,请采纳
如果只是相对鼠标x轴上运动,可以用MoveR 鼠标相对移动命令,
例如:MoveR 100,0
相对鼠标当前坐标向右移动100
这··很简单啊····
首先你要明确是相对移动还是绝对移动,然后在确定你当前运行的程序支持不支持按键精灵(因为部分游戏或者软件针对按键屏蔽了它的功能)。
如果什么都不考虑的话就是以下内容
MoveTo 1, 1 就是命令鼠标移动 1 1是移动的坐标
已有2位网友发表了看法:
访客 评论于 2023-01-15 03:05:41 回复
etrics32(1)With ActiveCell Px = .Left / 72 * GetPPI Py = .Top / 72 * GetPPI Px1 = ActiveWindow.PointsToScreenPixelsX(0)
访客 评论于 2023-01-14 17:38:45 回复
控制,而非被动得到后焦点后再作下一步动作。如果一定要相结合,可以让EXCEL指挥鼠标到光标处,然后按键精灵接手获得鼠标的位置以下是指挥到光标处的代码Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long