如同我们经常用vc,有一些增强某方面开发手段的程序,常常会修改vc的启动画面,有些还增加了新的菜单项和工具条,这些都是通过什么技术作出来的?简单的dll注入好像无法解决响应的问题吧?如何关联起来?始终想不通向各位请教!

解决方案 »

  1.   

    首先你要分析员来的代码(废话!),编写一个 DLL:
    1.使用 SetWindowsHookEx 安装一个 WH_SALLWNDPROC 类型的 HOOK 拦截消息;
    2.用 GetMenu() 获得 Menu Handle,在特定位置插入你的菜单(注意,这段代码要设置标志保证只执行一次,可以放在 HookProc 中)。
    3.HookProc 中,如果是 WM_COMMAND 消息,判断是否是我们插入的菜单项,如果是,哈哈……当然,如果已经知道了目标窗口的句柄不用Hook,直接 SubCLass 就能实现,都很容易的……