用.net 2003写的一个filter,在2000下注册提示LoadLibrary(..)错误(可能是因为filter有专门的入口函数),在装了DirectShow的2000上就可以成功注册,在2003和xp上没装ds也可以成功。寻求好的2000上能成功注册的办法,最好不用装ds

解决方案 »

  1.   

    是不是你的filter对系统的DirectX版本较高,使用了DirectX9.0的接口?
      

  2.   

    应该是filter里面对外部环境要求的问题??
      

  3.   

    谢谢回答!!!呵呵!!使用了9.0的sdk!!我是想寻求好的解决方法!!!顶
      

  4.   

    用depends看看,一般用LoadLibrary和GetProcAddress就可以了
      

  5.   

    LoadLibrary和GetProcAddress可以调用函数,但是没办法建filtergraph吧或者横秋再解释详细点?
    在目标机器上不需要DX的SDK,安装DX的runtime版本就可以了吧。
      

  6.   

    你用的是DX9,要装DX9(不是SDK,40M左右的,到处有得下,好多游戏也要要求装这个哦)。2000和xp,xp sp1系统的DX都是DX8,要装DX9才能运行,xp sp2系统的DX是DX9C,所以不用装,2003我没用过,不太清楚,按照你所说的应该也是DX9。
      

  7.   

    你的2000系统升级一下试试。我觉得应该可以。假如你的filter没有用到ds的库,按说不会出现这个问题,我觉得你做filter的环境决定了你的filter在目标机上用的