| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 664 人关注过本帖
标题:[求助]已知控件句柄,如何模拟鼠标在控件上按下弹起的动作
收藏  订阅  推荐  打印 
烟雨袅袅
Rank: 2
等级:注册会员
帖子:133
积分:1864
注册:2007-11-26
[求助]已知控件句柄,如何模拟鼠标在控件上按下弹起的动作

我想按下某个已知句柄的 "确定"键 ,但是要在电脑注销的情况下按下"确定",可以通过哪些api实现,向各位求教了

这个"确定"键是在其它软件上,是不自己编的

[[italic] 本帖最后由 烟雨袅袅 于 2007-12-18 15:04 编辑 [/italic]]
搜索更多相关主题的帖子: 句柄  鼠标  控件  动作  弹起  
2007-12-18 15:01
purana
Rank: 12Rank: 12Rank: 12
来自:广东-广州
等级:版主
威望:66
帖子:6040
积分:61390
注册:2005-6-17

SendMessage
WM_LBUTTONDOWN
WM_LBUTTONUP

我的msn: myfend@hotmail.com
2007-12-18 15:15
烟雨袅袅
Rank: 2
等级:注册会员
帖子:133
积分:1864
注册:2007-11-26

原帖由 [bold][underline]purana[/underline][/bold] 于 2007-12-18 15:15 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1152897&ptid=193152][/url]
SendMessage
WM_LBUTTONDOWN
WM_LBUTTONUP
怎么又是你,呵呵
我试试看
2007-12-18 15:23
烟雨袅袅
Rank: 2
等级:注册会员
帖子:133
积分:1864
注册:2007-11-26

不行啊
Const WM_LBUTTONDOWN = &H201
Const WM_LBUTTONUP = &H202
WindowHandle = FindWindow(vbNullString, "1")'查找窗口
MsgBox "WindowHandle1=" & WindowHandle '判断窗口句柄是否能找到

WindowHandle1 = FindWindowEx(WindowHandle, 0, "ThunderRT6CommandButton", vbNullString)'查找按钮MsgBox "WindowHandle1=" & WindowHandle1 '判断控件句柄是否能找到

SendMessage WindowHandle1, WM_LBUTTONDOWN, 0, 0
Sleep (1000)
SendMessage WindowHandle1, WM_LBUTTONUP, 0, 0
窗口 1 里只有一个按钮控件,按下控件会弹出msgbox
SendMessage Sleep FindWindow 这些我都声明了,执行后控件好像被选中了,但是没有按下去,这是怎么回事

[[italic] 本帖最后由 烟雨袅袅 于 2007-12-18 16:14 编辑 [/italic]]
附件: 只有本站会员才能下载或查看附件,请您 登录注册
2007-12-18 16:01
Joforn
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:20
帖子:1202
积分:12728
注册:2007-1-2

【VB声明】
  Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

【别名】
  mouse_event

【说明】
  模拟一次鼠标事件

【参数表】
  dwFlags ------------- Long,下述标志的一个组合
  MOUSEEVENTF_ABSOLUTE
  dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元
  MOUSEEVENTF_MOVE:移动鼠标
  MOUSEEVENTF_LEFTDOWN:模拟鼠标左键按下
  MOUSEEVENTF_LEFTUP:模拟鼠标左键抬起
  MOUSEEVENTF_RIGHTDOWN:模拟鼠标右键按下
  MOUSEEVENTF_RIGHTUP:模拟鼠标右键按下
  MOUSEEVENTF_MIDDLEDOWN:模拟鼠标中键按下
  MOUSEEVENTF_MIDDLEUP:模拟鼠标中键按下
  dx ------------------ Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动
  dy ------------------ Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动
  cButtons ------------ Long,未使用
  dwExtraInfo --------- Long,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动程序

【备注】
  进行相对运动的时候,由SystemParametersInfo函数规定的系统鼠标轨迹速度会应用于鼠标运行的速度
2007-12-21 13:38
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.047040 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved