为了账号安全,请及时绑定邮箱和手机立即绑定

怎么用Windows API模拟鼠标移动事件?

怎么用Windows API模拟鼠标移动事件?

C# C
慕盖茨4494581 2019-04-04 11:07:58
怎么用Windows API模拟鼠标移动事件
查看完整描述

4 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

具体代码如下:
PutAttachment "d:\p", "*.*"

//获取窗口句柄
Hwnd = Plugin.Window.MousePoint()
//获取窗口客户区左上角坐标
sRect = Plugin.Window.GetClientRect(Hwnd)
xyArray = Split(sRect, "|", - 1 , 1)
dx = xyArray(0)
dy = xyArray(1)

//转移窗口
KMData = Plugin.bgkms6_10.KMTransform(hwnd, 0)

//Plugin.BGCP2_02.TransformWindow 参数1

//加载图片
tu = Plugin.BGCP2_02.LoadBMP("d:\p\4.bmp")
tu1 = Plugin.BGCP2_02.LoadBMP("d:\p\12.bmp")
Do
Call Plugin.Bkgnd.KeyPress(Hwnd, 9)
Delay 100
Call Plugin.Bkgnd.KeyPress(Hwnd, 49)
Delay 3000
For 60
Call Plugin.BGCP2_02.FindPicture(hwnd, 0, 0, 1024, 768 ,tu(0), 30, 0.9, ipX, ipY)
If ipX > 0 And ipY > 0 Then
Call Plugin.Bkgnd.KeyPress(Hwnd, 51)
Delay 1000
Call Plugin.BGCP2_02.FindPicture(hwnd, 0, 0, 1024, 768 ,tu1(0), 30, 0.9, intX, intY)
If intX > 0 And intY > 0 Then
Call Plugin.bgkms6_10.MoveTo(KMData, intX, intY) //
Delay 1000
call Plugin.bgkms6_10.LeftClick (KMData) //这里后台点击鼠标左击没反应
Delay 200
End If
End If
//End If
Next
Delay 100
Loop
Sub OnScriptExit
//释放转移窗口
Call Plugin.BGCP2_02.UnTransformWindow(Hwnd)
call Plugin.bgkms6_10.KMUntransform (KMData)
End Sub



查看完整回答
反对 回复 2019-04-10
?
临摹微笑

TA贡献1982条经验 获得超2个赞

在我们自定义窗体的时候,实现鼠标点击拖动标题栏移动窗体是必要的,而用Windows API来实现这一功能相对来说最简单,需要用到的API函数有两个:
1:BOOL WINAPI ReleaseCapture(void);
2:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)

查看完整回答
反对 回复 2019-04-10
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

没有区别,因为windows系统和C++api的底层函数库是共享的,因此对于鼠标所引发的事件其处理机制是一致的。

查看完整回答
反对 回复 2019-04-10
  • 4 回答
  • 0 关注
  • 3258 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信