如果想在自己的程序中使用VP6做为编码器,但又不想用VP6codec的安装程序,可以直接把vp6vfw.dll提取出来注册到系统,由于vfw方式的dll并不能像dshow filter一样直接注册,所以过程稍有点麻烦。
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Drivers32里面有所有的codec的dll的位置,VFW的codec都是以vidc开头的,vp6有三个codec,名字分别是vidc.vp60,vidc.vp61,vidc.vp62,里面的值就写vp6vfw.dll的全路径,或是把vp6vfw.dll放在system32下的话,就直接写vp6vfw.dll就可以了。如果要注册一个codec的话,只要往里面加一条string value就可以了,但是要注意命名规则,必须以vidc.开头,然后后面自己的codec的名字只能是4个字符,主要是因为这个东西要作为一个FCCHandler放到一个DWORD里面。如果要取消一个codec的话,只要把里面的string value删除就可以了。codec是以dll的形式放在系统里面的,要对外export出一个DriverProc,具体的格式可以参考MSDN的文档。