返回值是AVIERR_FILEOPEN(A disk error occurred while opening the file.)。
是不是我的系统有什么问题?在我机器上删除一个.avi文件,然后再按F5刷新一下,那个.avi文件又会显示出来,而且再删也删不掉,只有重起一下机器,那个文件才会消失。

解决方案 »

  1.   

       那个avi文件被其他进程占用,所以不能删除...不是这个函数的问题
      

  2.   

    那个avi文件没有被其他进程占用啊?各位高手救命啊。
      

  3.   

    如果文件不存在则创建,这点没问题。就是如果同名的文件存在,则调用
     AVIFileOpen( 
            &m_clsAVIFile, 
            csFullFileName, 
            OF_CREATE ¦OF_WRITE, 
            NULL ); 
    失败,错误是AVIERR_FILEOPEN
      

  4.   

    不是代码的问题, xp系统对文件有预览的功能,当avi被预览时,avifileopen就会返回ACCESS_DENY 。 去掉系统的预览功能,运行"regsvr32 /u shmedia.dll"解决问题。