C++/MFC下获取控制其它进程的菜单Menu和如何使用SPY++获取菜单ID的方法

在本方法中控制其它应用进程菜单项的2个基本条件:

1)得到应用的主窗口句柄(HWND);

2)得到菜单子项ID;

1.获取一个应用的菜单子项ID:

       在本方法中获取菜单子项ID需要借助工具SPY++,通过SPY++监听该应用对应的消息,人工点击菜单后看点击菜单时,观察监听得到的ID值,得到监听到的ID后定义在自己所写的程序中即可;

 1.1 SPY++的消息赛选:

   

    1) 打开SPY++  -->点击监视菜单 -->  点击日志消息 --> 拖动查找工具至自己需要查找的目标程序窗口拦上 -->点击消息 .

如图1.1所示:

图1.1

 

2)进入到消息页面 -->点击全部清除 -->重新只选择WM_COMMAND消息-->点击确定

如图1.2所示:

图1.2

 

1.3 随后去点击菜单可在SPY++上看到对应的菜单子项ID.

如图1.3所示:

图1.3

 

2.获取应用的句柄:

通过FindWindow查找到应用句柄(_pParentHwnd)后,通过::SendMessage发送消息后控制了刚才获得的菜单ID项:

    DWORD menuID = 32781;
    ::SendMessage(_pParentHwnd, WM_COMMAND, menuID, 0);

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值