让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日