让real player从你的电脑走开
近自己用vb编写一个播放rm格式的影音文件播放器,打包后,兴冲冲的拿到朋友那去,结果老是报告“超出内存”。我倒!原来朋友的机器上没有装上real player,大跌脸面!急忙到网上查找关于real player的文章,结果一无所获!
看来只有俺亲自动手了!后来经过俺几天n2次的安装和卸载,外加方便面与白开水!终于让real player从电脑中走开!
准备工作:查看系统进程的软件(如winodws优化大师的进程管理,它可将每个软件所引用的进程全部列出,让你一览无余!)、real player、豪杰超级dvd2.1 。
安装real player后,你会发现在program files\common files根目录下有一个real目录下,里面分别有codecs、common、plugins、update、visualizations子目录,里面都是一些动态链接文件,这个可是real player的核心力量
打开豪杰的的安装目录,你会发现在豪杰的安装目录下也有codecs、common、plugins比较一下,你就会发现这几个目录中的文件,全是与program files\common files相对应目录中的文件啊!
让我们打开豪杰来播放一个rm格式的文件,然后打开winodws优化大师的进程管理(当然用其它查看进程也可以),发现豪杰在引用program files\common files\real目录下的文件
发现了这个秘密,说明我们只要能够明白豪杰的大概原理,就可以做出既使客户端没有real player也同样如豪杰那样播放rm格式的影音文件了!
打开注册表,在[hkey_local_machine\software\classes\software\]和[hkey_classes_root\ classes\software\]分支下都有名为realnetworks的项(这分支下realnetworks里面的内容是完全一样,唯一不同的是它们的支名),当我们卸载real player,real player就会删除realnetworks项。这时再用豪杰来播放rm文件,我们就会发现豪杰就会在上述两分支重建realnetworks项(即使你再次手动删除,当你用豪杰播放rm文件时豪杰,它就会又重建realnetworks项)。
导出[hkey_local_machine\software\classes\software\realnetworks]分支.最好先删除这一分支后,在打开豪杰播放rm文件,让豪杰来重建realnetworks。因为豪杰引用较少的文件就能播放,而real player引用的较复杂,没有必要去浪费资源!
在导出文件中有以下三项内容:(假设豪杰安装在d盘) [hkey_local_machine\software\classes\software\realnetworks\prefe_rences\dt_common]
@="d:\\herosoft\\hero2001\\common\\"(是引用豪杰common目录)
[hkey_local_machine\software\classes\software\realnetworks\prefe_rences\dt_plugins]
@="d:\\herosoft\\hero2001\\plugins\\"(是引用豪杰plugins目录)
[hkey_local_machine\software\classes\software\realnetworks\prefe_rences\dt_codecs]
@="d:\\herosoft\\hero2001\\codecs\\"(是引用豪杰codecs目录)
从导出文件剪切以上三项与下面两项合并成一个注册表文件,这样导出文件的剩余部分即为公用部分(无论是real player还是豪杰都必不可小的)。
[hkey_local_machine\software\classes\software\realnetworks\update\6.0\preferen_ces\components\rmacore:6.0\file17]
@="d:\\windows\\system\\pncrt.dll"(引用pncrt.dll)
[hkey_local_machine\software\classes\software\realnetworks\realplayer\6.0\pref_erences\datatypes\rpmocx\ocxdll]
@="d:\\windows\\system\\rmoc3260.dll"(引用rmoc3260.dll)
这样新合成的注册表文件,可根据你文件所在目录随意修改(即5处下画线处),只要你愿意,你可以将这些文件藏在你电脑的任意一个角落里!而公用部分导入注册表后就不用问它了!
注意事项:导出的注册表会因为操作系统不同导出的形式略有不同,因为windows 98是采用16位注册表编辑器,而windows 2000以上的是基于32位注册表编辑器。但它们所导出的内容是完全一样的!
这样就大功告成了!干快试试吧!让你的程序没有real plyaer一样干活!
( 此方法在windows 98 / 2000 / 2000 server / xp均可通过!)
随风2001
2002年10月6日