盒子资源分类
如何给exe文件加个菜单的演示程序
关键字:给exe文件加菜单 ProgPatch dll
来 自:原创
平 台:Win9x,Win2k/XP/NT,Win2003
下载所需:0 火柴
深浅度:高级
完成时间:2005/3/19
发布者:hxb_leiyuan
发布时间:2005/3/19
编辑器:DELPHI7
语 种:简体中文
分 类:应用软件
下载浏览:2191/15496
最近在大富翁论坛上有朋友提出如何给exe文件加个菜单,让它执行自己的功能。为此,我做了这个demo例子。首先先向大家道歉,我并没有做到想象中的效果。但核心代码还值得一看的。 文件夹中有三个子目录:1)patchdll,在里面存放的是补丁dll文件;2)patchexe,在里面存放的补丁外壳文件;3)ToBePatchedExe,里面存放的是自做 的一个待打补丁的程序;4)release,里面存放的输出文件。 使用说明:进入release文件夹,先运行ToBePatchedExe.exe,看看菜单的情况,然后关闭它,接着运行PatchExe.exe,看看效果吧。 郑重申明! 这是个demo程序,我用它来对其它的delphi程序打补丁时,发现存在严重的内存错误,这也许是因为我生成控件所占的内存不能得到很好的管理。而且许多windows控件用我的方法是不能生成的,但我的处理方式对只需获取信息的操作完全支持,夸张点说,你可以得到你想获取的一切信息。 本demo只是起到一个抛砖引玉的作用,希望读者在读通代码的基础上发挥自己的想象来尽一步完善。 补充说明:在动态生成菜单时,我发现必须在我的PatchDLL和PatchExe两个工程中引入ExceptionLog,这样可以避免一些内存错误。
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们 !
相关文章
相关评论
共有评论11条
当前显示最后6条评论
vagrant2005
2005/3/21 7:52:55
思路不错,谢谢,收下了
hxb_leiyuan
2005/3/21 14:39:18
只要安装了ExceptionLog,默认情况下以后每个工程会自动包含该文件。
zhihe
2005/3/21 18:18:44
能非提供ExceptionLog我找不到这个东西
li00000000
2005/9/7 9:53:16
厉害厉害厉害厉害厉害厉害厉害厉害厉害
sweetgun
2005/10/2 10:03:27
不能使用as , is 是因为应用程序和动态库使用的不是同一个对象树。大家都知道delphi的所有对象继承与TObject,但是对于静态编译的两个动态库(或者执行程序),他们各自拥有自己的TObject,这两个TObject名字一样,但是rtti不一样。比如说你在一个动态中创建了一个TBitmap,把这个对象传到其他动态库的函数中,如果函数中有这样的判断 AObject is TBitmap,肯定是False。 你的做法就是搞混了两个对象树,dll中创建的TMenuItem,它的内存结构和程序中的TMenuItem一模一样,但是它的类型信息完全不一致,最后不到之崩溃才怪。
yyyyyy
2006/10/8 16:38:21
只是临时修改。有什么用
我要发表评论
查看全部评论