首页
社区
课程
招聘
关于发送消息后台模拟点击
发表于: 2011-8-19 16:24 5346

关于发送消息后台模拟点击

2011-8-19 16:24
5346
我本身程序将为计算器的截图,我想通过点截图上的位置,操纵计算器上程序的按钮。本程序只用sendmessage传递消息。谁有思路也好。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 3
活跃值: (178)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
我想问的是,直接通过主窗口句柄发送对窗口坐标上某一点发送鼠标点击消息,如果在该点上刚好有个button,则须要点到button上去,而不是主窗口
2011-8-19 16:27
0
雪    币: 73
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
var
  hParent,hChild:THandle;
begin
  hParent:=FindWindow(nil,'计算器');
  hChild:=FindWindowEx(hParent,0,nil,'1');
  SendMessage(hChild,WM_LBUTTONDOWN,0,0);
  SendMessage(hChild,WM_LBUTTONUP,0,0);
end;
2011-8-19 16:53
0
雪    币: 3
活跃值: (178)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
这只能按到button 1.我想是按哪个都行。。。
2011-8-19 17:03
0
雪    币: 73
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
瀑布汗。。。。你把1改成其他不就得了。
2011-8-19 17:10
0
雪    币: 3
活跃值: (178)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
我程序本身是一个截图。我不想每个按钮都弄个那个,我试试遍历子控件
2011-8-19 17:15
0
雪    币: 3
活跃值: (178)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
找到个好的函数 WindowFromPoint。谢谢你热心回答
2011-8-19 17:41
0
雪    币: 47
活跃值: (36)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我认为你的原始思路是想通过窗口界面坐标对某按钮试试后台点击

1)如果可以轻易的获得按钮的句柄,建议直接利用API解决
2)如果软件的编程语言采用类似Delphi,很多看起来像是按钮的玩意,根本就取不到其句柄,这个时候分两种思路
   2.1  如果要操作的软件(例如计算器)是自己编写,建议弄一个引用事件
   2.2 如果要操作的软件(例如计算器)是别人的软件,建议通过窗口界面坐标实现后台点击

以上是我的愚见,希望高手更精彩的答案
2011-8-19 17:53
0
雪    币: 50
活跃值: (483)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
spy
获取控件的id.消息可以直接发到控件的
2011-8-19 18:56
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
你的意思是点击图片上的按钮,就等于点击了真正的按钮?
2011-8-19 22:28
0
游客
登录 | 注册 方可回帖
返回
//