我用c# 做了一个屏幕录像的软件。
用之前必须安装xvid这个软件。
我这个软件最终是要嵌入到一个系统里面。在用户安装我们系统的时候我不想提示他安装xvid这个软件。
我就研究了一下。只要收到改一下注册表 和在windows/system32下放两个dll。xvidcore.dll和xvidvdw.dll。但这两个dll毕竟是xvid开发商的东西。虽然是开源的 。但我还是想把这两个dll的名字改一下。
xvidvdw.dll 我把名字改一下。再把注册表调用的地方改一下就可以。
但是xvidcore.dll 不知道怎么调用的。。后来研究了一下。如果把这个dll改了以后 会在系统的一个文件avifil32.dll中的一个方法中提示一个error。我的猜测是 在安装xvid的时候 他会更改系统下的avifil32.dll 。修改出错的那个方法 改成使用xvidcore.DLL来操作视频录像处理。不过我在安装完xvid这个软件以后在把avifil32.DLL换成系统原始的dll  屏幕录像一样可以使用。这是怎么回事 。很奇怪如果安装xvid这个软件没有修改avifil32.dll的话。为什么删掉xvidcore.dll 在avifil32.dll中的AviFileStreamSetFormat方法中提示一个找不到xvidcore.DLL的error呢。