大虾快来啊,使用钩子在别人的程序上添加菜单,请问该如何响应菜单操作 ( 积分: 200 )

  • 主题发起人 主题发起人 zdwjetlee
  • 开始时间 开始时间
Z

zdwjetlee

Unregistered / Unconfirmed
GUEST, unregistred user!
使用钩子在别人的程序上添加菜单,请问该如何响应菜单操作
总之要在别人的程序里面添加新的菜单项,并能响应新增菜单的时间
如果操作它已有的菜单项?
泪流满面,跪求高手解答
 
要动态实现就难了,如果是固定 EXE 文件,可以跟踪到它的消息处理程序,然后再加上自己的代码.
 
鼠标钩子,坐鼠标按纽
判断鼠标位置是否位于非客户区,,,是否位于菜单位置,,
APIHOOK
 
喔!喔!喔!
有点难度!
 
关注~~~~怎么得到点击菜单的消息呢?
 
To:白河愁
是固定的exe程序 怎么追踪消息啊 ,有没有实例啊?
To:暗夜中独舞
能不能说详细一点,让我有继续研究的方向,有没有实例可以借鉴啊
 
只有你要添加的菜单是windows的标准菜单(如记事本的菜单),才可以
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3693918
里有我贴的代码,用WH_CALLWNDPROC钩子挂钩目标窗口,然后用SetWindowLong子类化窗口,处理菜单事件.
我代码里用的是GetSystemMenu,插入到了系统菜单,用GetMenu得到句柄后就可以控制标准菜单了.
 
肯定可以啦,Hook 这个 wm_sysCommand
if (Msg.message = WM_SYSCOMMAND) and (Msg.wParam = SC_MyMenuItem) then
begin
//你的代码。
Handled := True;
end;

有时间我帮你写个Demo
 
To xuxiaohan,你什么时候有空啊 帮帮忙啊
我的邮箱:missionsimple@126.com 谢谢了
 
To xuxiaohan,
给我也一份阿 谢谢!!
xueleilei@yeah.net
 
To xuxiaohan,
给我也一份阿 谢谢!!
eastmark12@163.com
 
后退
顶部