| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5562 人关注过本帖
标题:关于PostMessage函数发鼠标消息的位置像素的设置问题!
只看楼主 加入收藏
shi781203
Rank: 2
来 自:广东省
等 级:论坛游民
帖 子:112
专家分:50
注 册:2011-3-18
结帖率:37.14%
收藏
 问题点数:0 回复次数:11 
关于PostMessage函数发鼠标消息的位置像素的设置问题!
Declare Function PostMessage& Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)

请问下面代码中第三个和第四个参数有没有设置错误,因为我搞来搞去也无法在指定的(700,30)编辑框位置发出鼠标点击消息!
PostMessage 0, WM_LBUTTONDOWN, 700, 30
PostMessage 0, WM_LBUTTONUP, 700, 30

如有错误请帮忙纠正,请高手指教指教!
2016-06-01 01:07
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
显然楼主对PostMessage使用方法理解不透,PostMessage是对制定窗口句柄发消息,比如通过按command2模拟command1按钮按动,代码如下:
Private 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 Sub Command1_Click()
  MsgBox "ok"
End Sub

Private Sub Command2_Click()
  PostMessage Command1.hwnd, &H201, 0, 0  'WM_LBUTTONDOWN=&H201
  PostMessage Command1.hwnd, &H202, 0, 0  'WM_LBUTTONUP=&H202
End Sub

能编个毛线衣吗?
2016-06-01 10:23
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
收藏
得分:0 
楼主是想模拟点击鼠标?

[此贴子已经被作者于2016-6-1 14:50编辑过]


本人QQ:775420425
2016-06-01 14:48
shi781203
Rank: 2
来 自:广东省
等 级:论坛游民
帖 子:112
专家分:50
注 册:2011-3-18
收藏
得分:0 
以下是引用wmf2014在2016-6-1 10:23:29的发言:

显然楼主对PostMessage使用方法理解不透,PostMessage是对制定窗口句柄发消息,比如通过按command2模拟command1按钮按动,代码如下:
Private 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 Sub Command1_Click()
  MsgBox "ok"
End Sub

Private Sub Command2_Click()
  PostMessage Command1.hwnd, &H201, 0, 0  'WM_LBUTTONDOWN=&H201
  PostMessage Command1.hwnd, &H202, 0, 0  'WM_LBUTTONUP=&H202
End Sub

你的代码只能对VB的窗体应用程序起作用,但对于其它设有钩子的应用程序(如:QQ的登录界面)就一点效果都没有,本人只是想将鼠标模似移动到相对像素位置后再模似点击,从而实现绕过那个钩子程式,请你帮帮忙“鼠标模似移动”+“鼠标模似点击”!

飞点燃费盐--历史上至有型的计算机病毒(能感染你是我的荣幸,也是你的光荣!)
2016-06-02 00:43
shi781203
Rank: 2
来 自:广东省
等 级:论坛游民
帖 子:112
专家分:50
注 册:2011-3-18
收藏
得分:0 
回复 3楼 hjxlj
本人只是想对其它设有钩子的应用程序按扭(如:QQ的登录界面内的按扭)实施鼠标点击效果,将鼠标模似移动到相对像素位置后再模似点击,从而实现绕过那个钩子程式的目的,你能够帮帮忙吗——“鼠标模似移动”+“鼠标模似点击”!

飞点燃费盐--历史上至有型的计算机病毒(能感染你是我的荣幸,也是你的光荣!)
2016-06-02 00:49
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 4楼 shi781203
模拟鼠标操作指定位置也很简单,使用其他api,下面代码运行后,在显示桌面的情况下,点击按钮,会双击打开“我的文档”(我的是xp系统),如果不能执行双击,则需要关闭360等各种保护。
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
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 Sub Command1_Click()
  SetCursorPos 30, 30   '将鼠标移到桌面30,30处,我的xp系统桌面是“我的文档”
  mouse_event &H2 Or &H4, 0, 0, 0, 0
  mouse_event &H2 Or &H4, 0, 0, 0, 0  '连续两次单击就是双击,打开“我的文档”
End Sub

能编个毛线衣吗?
2016-06-02 06:38
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
收藏
得分:0 
楼主,先把
https://bbs.bccn.net/thread-465327-1-1.html
帖子结了

本人QQ:775420425
2016-06-02 09:05
shi781203
Rank: 2
来 自:广东省
等 级:论坛游民
帖 子:112
专家分:50
注 册:2011-3-18
收藏
得分:0 
以下是引用wmf2014在2016-6-2 06:38:31的发言:

模拟鼠标操作指定位置也很简单,使用其他api,下面代码运行后,在显示桌面的情况下,点击按钮,会双击打开“我的文档”(我的是xp系统),如果不能执行双击,则需要关闭360等各种保护。
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
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 Sub Command1_Click()
  SetCursorPos 30, 30   '将鼠标移到桌面30,30处,我的xp系统桌面是“我的文档”
  mouse_event &H2 Or &H4, 0, 0, 0, 0
  mouse_event &H2 Or &H4, 0, 0, 0, 0  '连续两次单击就是双击,打开“我的文档”
End Sub

这个mouse_event函数,只要点击的窗体移动了,就没有效果了,请问有没有方法获取指定窗体的位置,然后在该窗体的起始座标进行模拟鼠标的相对移动(即无论窗体移动到哪个位置或是最小化,也能够在指定的窗体内进行模拟鼠标的移动及点击指定按扭!)
请高手再指点指点吧!

飞点燃费盐--历史上至有型的计算机病毒(能感染你是我的荣幸,也是你的光荣!)
2016-06-03 16:40
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
收藏
得分:0 
本来想给你指点,叫你先把之前已解决的帖子先结帖,楼主为何置若罔闻?
你不就是想后台模拟鼠标点击吗?且不说你这个帖子问题点数为0,连之前已解决的问题也不结帖,你这是什么态度?

[此贴子已经被作者于2016-6-4 16:35编辑过]


本人QQ:775420425
2016-06-03 17:27
shi781203
Rank: 2
来 自:广东省
等 级:论坛游民
帖 子:112
专家分:50
注 册:2011-3-18
收藏
得分:0 
以下是引用hjxlj在2016-6-3 17:27:42的发言:

本来想给你指点,叫你先把之前已解决的帖子先结帖,楼主为何置若罔闻?
你不就是想后台模拟鼠标点击吗?且不说你这个帖子问题点数为0,连之前已解决的问题也不结帖,你这是什么态度?限你两天内把之前的帖子结了,否则删帖处理。

你的要求,我已经做了,请问能再多给指点吗?

飞点燃费盐--历史上至有型的计算机病毒(能感染你是我的荣幸,也是你的光荣!)
2016-06-04 00:13
快速回复:关于PostMessage函数发鼠标消息的位置像素的设置问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013183 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved