+ -
当前位置:首页 → 问答吧 → 使用SendMessage发送后台鼠标点击按钮,但只是看到激活状态,并没有点击,是什么问题,高手进来帮帮忙!

使用SendMessage发送后台鼠标点击按钮,但只是看到激活状态,并没有点击,是什么问题,高手进来帮帮忙!

时间:2011-12-17

来源:互联网



我想点击"进入游戏"这个按钮,但是不知道为什么,只有激活状态,并没有点中

代码是:

HWND hwnd=FindWindow("CJsh",NULL); //获取游戏窗口句柄
SendMessage(hwnd,WM_LBUTTONDOWN,0,MAKELPARAM(861,700));
SendMessage(hwnd,WM_LBUTTONUP,0,MAKELPARAM(861,700));


请问有什么办法可以解决吗???

作者: q516q516   发布时间: 2011-12-17

是不是因为第一次点击的时候游戏窗口没在前台,所以你发送的点击变成了激活窗口到前台

作者: et214721856   发布时间: 2011-12-17

如果你游戏的客户端是浏览器中的模式或FLASH的,那就无法选中了
如果是普通方式,用spy++查下
1.按钮可能还有子窗口
2.SendMessage只到窗口,不到按钮

HWND bb1=FindWindowEx(wd,NULL,NULL, "进入游戏");//按钮的Caption要用Spy++查下
long id=::GetDlgCtrlID(bb1); 
  ::SendMessage(wd,WM_COMMAND, MAKELONG(id,BN_CLICKED),(long)bb1); 
试试

作者: keiy   发布时间: 2011-12-17

回复2楼的大哥:

这个游戏用SPY++只能找到窗口的信息
[size=24px][/size]

作者: q516q516   发布时间: 2011-12-17