win api怎么将鼠标移动到一个窗口的指定位置

win api怎么将鼠标移动到一个窗口的指定位置,第1张

HWND 获取到的窗口句柄=::FindWindow();

RECT rect;

GetWindowRect(获取到的窗口句柄,&rect);

SetCursorPos(rectleft+10,recttop+50);//移动到该窗口 X坐标为10、Y坐标为50

//如果还不行,楼主可以去参考一下这几个函数、GetClientRect、ScreenToClient、ClientToScreen

使用api

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long

Private Type POINTAPI

        x As Long

        y As Long

End Type

Dim p As POINTAPI

Private Sub Form_Load()

Timer1Interval = 10

End Sub

Private Sub Timer1_Timer()

GetCursorPos p

MeCaption = px & "-" & py

End Sub

根据官方文档的介绍,DMmovetoex函数的第三、第四个参数表示鼠标移动到目标点之后再等待多少毫秒后开始模拟鼠标 *** 作。也就是说,DMmovetoex函数的作用是移动鼠标到指定点,但是并不一定是立刻开始模拟鼠标 *** 作。可能是您赋值的参数比较小,导致鼠标在到达目标点后立刻开始 *** 作,所以在指定区域内移动。您可以试试调大等待时间的参数,比如改为100毫秒,看看会不会有改善。

以下是一个示例代码:

这是一个在屏幕上查找指定字符串,并在该字符串处点击鼠标左键的示例代码。当查找到字符串后,先通过DMmovetoex函数将鼠标移动到该点,再进行点击 *** 作。在DMmovetoex函数中,第三个参数为鼠标移动到目标点后等待的时间(单位:毫秒),第四个参数为移动结束后等待的时间(单位:毫秒)。我在这里将第三个参数设为了100,也就是鼠标移动到目标点后等待100毫秒再开始 *** 作。您可以根据您的实际需要进行调整。

以上就是关于win api怎么将鼠标移动到一个窗口的指定位置全部的内容,包括:win api怎么将鼠标移动到一个窗口的指定位置、VB6下如何才能实时得到鼠标位置、关于PC按键精灵DM.movetoex的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9744816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存