高难度问题,1200分重赏求解

SoftDIY 2000-03-08 02:20:00
此问题去年曾在Expert Exchange问过,未得解,当时尚未确定是否可实现,如今看到一个Shareware "perfect menu",在http://www.softwareutilities.com/可当到,老外已实现了我的想法,现向csdn群雄提出此问题,解决者将获得1200分。
perfect menu实现了hook每一个弹出右健菜单,你可以看到在任何软件的右键菜单,perfect menu都加入了它自己的菜单,请问是如何实现的。最好要有源码说明。
...全文
939 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
SoftDIY 2000-03-30
  • 打赏
  • 举报
回复
今日用Softice跟踪一下,发现老外玩了个虚的,他没有得到hmenu,只是find弹出菜单的window,然后再画他自己的窗口,这样看起来,Jackzhu先生将获得1200分,多谢各位朋友关注本问题。
虽然还是没有找到notepad弹出菜单的函数,但我的问题已有解决思路了。
SoftDIY 2000-03-18
  • 打赏
  • 举报
回复
多谢,我手里已有不少hook api的例子及文档,hook TrackPopupMenu\TrackPopupMenuEx并非技术难点。我的问题是,notepad中并未调用这两个Api。而且TrackPopupMenu\TrackPopupMenuEx也并非右键菜单专属的,同样需要监测是否传递了WM_CONTEXTMENU消息来区分右键左键
dannie 2000-03-17
  • 打赏
  • 举报
回复
谁有Softice 4.01的注册码,请帖给我,好久没玩Softice了,看来需要trace一下。(FOr NT),谢了。
dannie 2000-03-17
  • 打赏
  • 举报
回复
我查一下,
softdoctor 2000-03-17
  • 打赏
  • 举报
回复
关键在于修改TrackPopupMenu\TrackPopupMenuEx函数,与屏幕取词一个道理。
不能用HOOK WM_INITMENU,WM_INITPOPUPMENU等,因为如果那样的
话,必须判定MENU是什么样的MENU,不一定是右建菜单。

Perfect Menu 带有一个动态库,叫*hook*.dll,利用他或许能完成你的
任务

我这里有一个屏幕取词的源码,可惜是BC的,他用了几个关键的宏在VC里是找不到
的,我没时间仔细研究它,如果你要,我可给你。
alanpower 2000-03-17
  • 打赏
  • 举报
回复
我研究一下.
jing 2000-03-16
  • 打赏
  • 举报
回复
xuxu
SoftDIY 2000-03-16
  • 打赏
  • 举报
回复
hook mouse 的什么消息可以得到Menu的信息,可否说的详细一些,谢谢。
macson 2000-03-16
  • 打赏
  • 举报
回复
you can use the mousehook get the menu information.
next get the information's content.
add your menu into the content.
use "repaint the canvas" paint the menu into Canvas.
pipu 2000-03-16
  • 打赏
  • 举报
回复
关注!
SoftDIY 2000-03-16
  • 打赏
  • 举报
回复
消息倒有,wm_contextmenu,但是它不传递menu的信息,我找不到入口修改。
我用SoftICE追踪notepad,发现它不调用TrackPopupMenu和TrackPopupMenuEx,难道有Undocument API弹出菜单。。。
dannie 2000-03-16
  • 打赏
  • 举报
回复
关键是要找到100%搞定,每个right button menu 都必须的消息,hook.
得要好好查一下。
Stone 2000-03-16
  • 打赏
  • 举报
回复
Care for it1
shaohua 2000-03-11
  • 打赏
  • 举报
回复
关注
SoftDIY 2000-03-11
  • 打赏
  • 举报
回复
这个问题还是比较麻烦,WM_CONTEXTMENU没有传递menu,而我用apispy察看notepad中也没有TrackPopMenu和TrackPopMenuEx,难道还有什么未公开的api弹出menu。
谁有Softice 4.01的注册码,请帖给我,好久没玩Softice了,看来需要trace一下。
SoftDIY 2000-03-10
  • 打赏
  • 举报
回复
我的可用分数大于1800,当然可以出1200分:)不过需要分批付
Sodar 2000-03-10
  • 打赏
  • 举报
回复
我就想知道,怎样能够悬赏1200分?
zjy 2000-03-10
  • 打赏
  • 举报
回复
谢谢索罗门先生
土豆 2000-03-10
  • 打赏
  • 举报
回复
土豆 2000-03-10
  • 打赏
  • 举报
回复
加载更多回复(18)

16,470

社区成员

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

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

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