后台模拟鼠标操作窗口!

lixuejiang1 2011-09-19 04:39:08
我要对一个后台游戏窗口模拟鼠标操作 不用帮我写代码 告诉我怎么解决就可以!

窗口用postmassge 发送keydown 能够执行

但是用posetmassge发送lbuttondown就不执行

请高手指点 谢谢

qq: 1005839403 有酬谢 !
spy++中单击鼠标时候的消息
<00839> 000507CA S WM_SETCURSOR hwnd:000507CA nHittest:HTCLIENT wMouseMsg:WM_LBUTTONDOWN [wParam:000507CA lParam:02010001]
<00840> 000507CA R WM_SETCURSOR fHaltProcessing:True [lResult:00000001]
<00841> 000507CA P WM_LBUTTONDOWN fwKeys:MK_LBUTTON xPos:519 yPos:408 [wParam:00000001 lParam:01980207 time:1:03:11.822 point:(1093, 558)]
<00842> 000507CA P WM_SETCURSOR hwnd:000507CA nHittest:HTCLIENT wMouseMsg:0000 [wParam:000507CA lParam:00000001 time:1:03:11.853 point:(1093, 558)]
<00843> 000507CA P WM_SETCURSOR hwnd:000507CA nHittest:HTCLIENT wMouseMsg:0000 [wParam:000507CA lParam:00000001 time:1:03:11.869 point:(1093, 558)]
<00844> 000507CA P WM_LBUTTONUP fwKeys:0000 xPos:519 yPos:408 [wParam:00000000 lParam:01980207 time:1:03:11.900 point:(1093, 558)]
<00845> 000507CA S WM_SETCURSOR hwnd:000507CA nHittest:HTCLIENT wMouseMsg:WM_MOUSEMOVE [wParam:000507CA lParam:02000001]
<00846> 000507CA R WM_SETCURSOR fHaltProcessing:True [lResult:00000001]
<00847> 000507CA P WM_MOUSEMOVE fwKeys:0000 xPos:519 yPos:408 [wParam:00000000 lParam:01980207 time:1:03:11.900 point:(1093, 558)]
<00848> 000507CA P WM_SETCURSOR hwnd:000507CA nHittest:HTCLIENT wMouseMsg:0000 [wParam:000507CA lParam:00000001 time:1:03:11.931 point:(1093, 558)]
...全文
1459 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixuejiang1 2011-09-20
  • 打赏
  • 举报
回复
那位高手给点提示啊
谢谢了
lixuejiang1 2011-09-19
  • 打赏
  • 举报
回复
不行的 我早实验过了 呵呵
可能是窗口对鼠标的消息出来和普通的窗口有所不同吧
希望高手继续指点
d19841029 2011-09-19
  • 打赏
  • 举报
回复
HWND hwnd=::FindWindow(NULL,gameCaption);

if (hwnd==NULL)
{
MessageBox("获取句柄失败");
}
int lparam;
lparam=(Y<<16)+X;
::PostMessage(hwnd,WM_MOUSEMOVE, MK_LBUTTON, MAKELONG(X,Y));
::PostMessage(hwnd,WM_LBUTTONDOWN,MK_LBUTTON,MAKELPARAM(X,Y));
::PostMessage(hwnd,WM_LBUTTONUP,MK_LBUTTON,MAKELPARAM(X,Y));
///////////////////////再加个PostMessage,试下/////////////////////////
::PostMessage(hwnd,WM_LBUTTONDOWN,MK_LBUTTON,MAKELPARAM(X,Y));
::PostMessage(hwnd,WM_LBUTTONUP,MK_LBUTTON,MAKELPARAM(X,Y));
lixuejiang1 2011-09-19
  • 打赏
  • 举报
回复
可能发送了,但接受的窗口变化了

发送是肯定发送了我做了postmeassge KeyKown是成功了执行了
但是发送lbuttonDown就没反应了
如何确定窗口变化 不太懂 指教下
lixuejiang1 2011-09-19
  • 打赏
  • 举报
回复
是能接受到lbuttonDown 但是不能接受到坐标信息
lixuejiang1 2011-09-19
  • 打赏
  • 举报
回复
1: 先确定下窗口的handle是否正确?
2:鼠标消息被拦截了 ?
我用HOOK 是可以接受到我发的信息 应该是没被拦截

能告诉下怎么判断窗口handle是否正确吗?
jyh_baoding 2011-09-19
  • 打赏
  • 举报
回复
可能发送了,但接受的窗口变化了
欣客 2011-09-19
  • 打赏
  • 举报
回复
1: 先确定下窗口的handle是否正确?
2:鼠标消息被拦截了 ?
lixuejiang1 2011-09-19
  • 打赏
  • 举报
回复
其实还有个办法就是写CALL
但是那样的话程序维护起来有点发麻,主要我找CALL 很慢!
lixuejiang1 2011-09-19
  • 打赏
  • 举报
回复
我告诉你我在做的是鹿鼎记的辅助工具
就一个窗口 没有子窗口 !
帮我解决的 我给他冲300元电话费 虽然不多 就是希望大家帮们费心看看是怎么回事
以前我没遇过 谢谢各位!
cpp2017 2011-09-19
  • 打赏
  • 举报
回复
如果代码在其他窗口能执行有可能的原因是游戏本身的。

确定一下你这个窗口的句柄是不是就是接受鼠标消息的窗口,比如,这个窗口是个父窗口,里面嵌了个子窗口来接受消息。
lixuejiang1 2011-09-19
  • 打赏
  • 举报
回复
我都发过了
给你看下我的发的代码!
HWND hwnd=::FindWindow(NULL,gameCaption);

if (hwnd==NULL)
{
MessageBox("获取句柄失败");
}
int lparam;
lparam=(Y<<16)+X;
::PostMessage(hwnd,WM_MOUSEMOVE, MK_LBUTTON, MAKELONG(X,Y));
::PostMessage(hwnd,WM_LBUTTONDOWN,MK_LBUTTON,MAKELPARAM(X,Y));
::PostMessage(hwnd,WM_LBUTTONUP,MK_LBUTTON,MAKELPARAM(X,Y));
代码本身没什么问题好像!
我在其他窗口实验了 能执行!
cpp2017 2011-09-19
  • 打赏
  • 举报
回复
鼠标移到目的位置了没有?然后除了发down还要发up消息。有些事件是在up中写的。
lixuejiang1 2011-09-19
  • 打赏
  • 举报
回复
先自己顶下 如果我在线可以给我发短信
我的电话是15041893416
有酬谢!
技术选型1,前端微信小程序原生框架cssJavaScript2,管理后台云开发Cms内容管理系统web网页3,数据后台小程序云开发云函数云数据库云存储 1,小程序端1-1,首页首页有以下几个功能点点餐菜单浏览排号等位拨打电话顶部轮播图搜索菜品这里点餐分两种1,可以设置直接点餐直接点餐:适合小型饭店,或者奶茶类的快餐店。直接就可以下单,不用识别桌号2,也可设置扫码点餐扫码点餐适合中大型饭店,可以区分桌号,方便管理我后面会教大家如何生成桌号二维码,只需要把对应桌号的二维码贴在餐桌上,用户点击 扫码点餐 识别二维码,即可获取到桌号信息。1-2,菜品浏览页菜品浏览分两种1,不带分类适合菜品少的时候2,带分类菜品多的时候,带分类更方便客户选择不带分类 带分类 1-3,搜索功能我们这里搜索有两个触发方式1,直接点击搜索图标2,点击键盘上的搜索键1-4,搜索结果,支持模糊查询如我这里只搜‘鱼’,那么菜品中所有包含鱼的都可以搜索到 1-5,购物车首先菜品列表页可以直接添加商品到购物车购物车弹起后可以做如下操作1,增删单个菜品2,清空购物车3,删除菜品这些操作都和菜品列表是联动的,也就是菜品列表和购物车里增删个数,都是可以同步的。我会在项目预览章节的视频里做具体演示。1-6,下单页下单页就是确认订单后进行下单支付的。有以下功能1,点餐明细2,价格计算3,桌号地址4,就餐人数5,添加备注6,点击下单1-7,支付页支付页分两种方式1,模拟支付适合前期学习,毕业设计等演示类的场景。2,真实微信支付适合商用,但是使用微信支付必须要有营业执照,所以前期如果只是学习的话,建议使用模拟支付。 1-8,我的订单页我的订单页分以下几个状态1,新下单待上餐2,已上餐待评价3,订单完成4,订单取消1-9,提交评论页我们可以对店家进行评论。 1-10,评价列表页可以查看所有评价和自己的评价 1-11,排号等位可以看出,我们可以选择就餐人数,排大桌或者小桌。我这里已排小桌为例通过上图可以看出1,当前排号情况2,我的排号3,可以重新排号4,到号时会有到号提示后面我会把订阅消息功能加进来,这样到号后会有订阅消息提示。 1-12,个人中心个人中心分登录和未登录两种状态未登录已登录 1-13,微信授权登录小程序 2,后厨端和排号管理端2-1,后厨端主要供后厨的厨师使用1,可以查看当前新下单2,完成后可以操作菜品完成3,可以监听用户新下单4,有新订单时会有语音提示5,厨师登录页语音提示我会在视频课里具体演示厨师登录页 厨师管理页可以查看待制作订单用户新下单后,会有语音提示 2-2,排号管理页同样也有登录页,和上面厨师登录一样,这里重点看下排号管理页管理员可以查看当前排号情况,可以叫号。3,cms管理后台我们这里的可视化网页后台使用的时云开发自带的cms(内容管理)3-1,登录页 3-2,管理后台我们可以在这里 1,添加轮播图,删除轮播图,修改轮播图2,添加菜品,删除菜品,修改菜品,上架下架菜品3,管理订单4,查看评价5,管理后厨和排号管理员6,查看排号数据  比如我查询某个用户的所有订单 查询所有新下单还未上菜的订单 还有更多的功能,我会在视频课里给大家用视频来演示,这样更直观。 4,数据库数据库我们这里用云开发自带的云数据库餐厅管理员查看趋势图

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧