大家好,先给大家拜年啦! 有个问题问下高手: 就是在用POSTMESSAGE模拟鼠标的时候,老是出现坐标为负,我把源码贴出来,希望高手帮我看看错在那了
我要实现的功能是 点击FORM1的按扭,然后鼠标后台模拟点击FORM2的某一点,不是按扭 是窗体上的某一坐标
POSTMESSAGE,都已经声明好了 FORM1:
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const VK_CONTROL = &H11
Private Const VK_SHIFT = &H10
Private Const VK_RETURN = &HD
Private Const VK_1 = &H31
Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101Private Sub Command1_Click()
Form2.Show
End SubPrivate Sub Command2_Click()
Dim hwnd As Longhwnd = Form2.hwnd
Dim lp As Long
lp = 58 'Y坐标
lp = lp * 65536 + 32 '32=X坐标postmessage hwnd, WM_LBUTTONDOWN, MK_LBUTTON, lp
postmessage hwnd, WM_LBUTTONUP, MK_LBUTTON, lpform2Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MsgBox "x=" & X & "y=" & Y
End Sub可是点击COMMAND2的时候弹出 X=-45540 Y=285 不管把X,Y坐标(LP的值)改成任何值 都弹出这两个值 到底那里错了 请高手帮忙指点
我要实现的功能是 点击FORM1的按扭,然后鼠标后台模拟点击FORM2的某一点,不是按扭 是窗体上的某一坐标
POSTMESSAGE,都已经声明好了 FORM1:
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const VK_CONTROL = &H11
Private Const VK_SHIFT = &H10
Private Const VK_RETURN = &HD
Private Const VK_1 = &H31
Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101Private Sub Command1_Click()
Form2.Show
End SubPrivate Sub Command2_Click()
Dim hwnd As Longhwnd = Form2.hwnd
Dim lp As Long
lp = 58 'Y坐标
lp = lp * 65536 + 32 '32=X坐标postmessage hwnd, WM_LBUTTONDOWN, MK_LBUTTON, lp
postmessage hwnd, WM_LBUTTONUP, MK_LBUTTON, lpform2Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MsgBox "x=" & X & "y=" & Y
End Sub可是点击COMMAND2的时候弹出 X=-45540 Y=285 不管把X,Y坐标(LP的值)改成任何值 都弹出这两个值 到底那里错了 请高手帮忙指点
解决方案 »
- 请给位高手指点下,该语句该如何理解?????
- 将数据输出到word文档形式,如何实现?
- 如何控制这样的格式?
- 求助:拨号与某一台机器连接后能否通过winsock的tcp/ip相互通信?
- 菜鸟求问题,谢谢,谢谢
- 我菜鸟一个,想学VB 希望高手给我建议或教程 谢谢!!
- 如何对设置进行保存,当下次启动时设置沿用最近一次的设定???wait online
- 谁有 操作扫描仪,存取图片到数据库的例子或资料?小弟先谢谢了!
- 用ADO编写大型查询时经常出现超时已过期错误?如何解决?谢谢各位了。
- 请问 VB 里面 Collection 的用法?
- 求教用什么函数对"%C9%BD%B5%D8%D7%D4%D0%D0%B3%B5"与"山地自行车"相互转换
- 数组重新排序 按高低
Option ExplicitPrivate Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const VK_CONTROL = &H11
Private Const VK_SHIFT = &H10
Private Const VK_RETURN = &HD
Private Const VK_1 = &H31
Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101
Private Const MK_LBUTTON = &H1Private Sub Command1_Click()
Form2.Show
End Sub
Private Sub Command2_Click()
Dim hwnd As Long
hwnd = Form2.hwnd
Dim lp As Long
lp = 300 'Y坐标
lp = lp * 65536 + 20 '500=X坐标
PostMessage hwnd, WM_LBUTTONDOWN, MK_LBUTTON, lp
PostMessage hwnd, WM_LBUTTONUP, MK_LBUTTON, lpEnd Sub