我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: I'back 暨灰色菜单克星 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

DebugAnyway



性别: 帅哥 状态: 该用户目前不在线
头衔: 江湖人称小徐锦江
等级: 荣誉会员
发贴: 1872
威望: 1
浮云: 499
在线等级:
注册时间: 2004-04-07
最后登陆: 2018-03-16

5come5帮你背单词 [ brick /brik/ n. 砖,砖状物,方木块,块料 ]


I'back 暨灰色菜单克星

        今力差强能及MFC或VCL者,造款灰色按钮克星单怕势如吹灰,其成品亦一搜一大把,大同小异。
        吾近使某共软,无心Crack(精力实力不济,嘿嘿),可其所限之能恰为Menu所灰,而非Button。本想有如姊妹款者,谓之“灰色菜单克星”,亦能随意down得,岂料不然,遂欲新造一款谓之“EnMenu”。
        思路:首先基本功能要完成,至少EnMenu要让用让当前程序中的全部灰色的菜单项可以被点击;此外技术处理上站位一定要高,要让朋友们知道敝人今非昔比,如果用VCL的Ttimer触发扫描,获得当前的窗口句柄,继而获得菜单句柄,继而为所欲为,也不难,但是我说不,一定要用钩子,嘿嘿,至于VCL嘛,也不用!要整咱也整个几十K的Mini Kit,哈哈!
        大致流程,整一个行使Pause/Start功能按钮,Start给全局安装WH_CALLWNDPROC的钩子,Pause用做卸载,在相应回调CallWndProc里主要监视WM_INITMENUPOPUP和WM_MENUSELECT两个消息,具体不赘述,一旦获得这两个消息就用SendMessage把目标的窗口和菜单句柄用自定义的Message发到EnMenu的窗口上,一分析,再用EnableMenuItem一整,OK,不说了。
        一度嫌非要两个文件(EnMenu.exe+MenuHook.dll)太麻烦,想把dll里的装载钩子的API做到exe里边去,再用dllexport发布给被我Hook的程序们,无奈老出错,郁闷后发现,Dll的实例句柄需要在DllMain里面传给一个全局变量,安装Hook的API才能知道。而一个PE文件只能有一个EntryPoint,要么是WinMain要么是DllMain。(事后绞尽脑汁,得出非如此不可的结论,但是如果在你的exe里无需API使用EntryPoint里的东西的话,是可以把API通过dllexport导出的)若两种EntryPoint的参数表差不多,估计处理处理还能行,结果发现参数个数都不对,更别说类型不沾边了,作罢。折了个衷,把MenuHook.dll打包到EnMenu.exe的Resource里,用的时候再释放出来,细不赘述。
        EnMenu.exe就不秀了,界面太烂,嘿嘿,压根就不是美工的料啊,有需要的朋友可以Q我2887139或者1048485索取。目前用BCB出来是80K+,U[屏蔽]之后是40K,当然个中仍有很大裁剪的余地,如改用VC 6.0出来就会小很多,再自己定义一下它的DOS Stub,估计最后U[屏蔽]出来也就20K左右。


[ 此帖被DebugAnyway在2009-04-03 01:46重新编辑 ]
附件: 灰色菜单克星.rar (39 K) 下载次数:15

本帖最近评分记录:
  • 浮云:20(震月) 哎呀,复活了一位大牛
  • 顶端 Posted: 2009-03-29 01:10 | [楼 主]
    wolfgang



    性别: 帅哥 状态: 该用户目前不在线
    等级: 荣誉会员
    发贴: 883
    威望: 3
    浮云: 462
    在线等级:
    注册时间: 2003-09-21
    最后登陆: 2015-04-13

    5come5帮你背单词 [ scholar /'skolə/ n. 学者 ]


    时别三年了 重回5come5
    再顶debug
    顶端 Posted: 2009-03-29 01:38 | [1 楼]
    我来我网·5come5 Forum » 程序员之家

    Total 0.010747(s) query 6, Time now is:11-21 22:42, Gzip enabled
    Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号